<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="375702" data-post-id="375702">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Lucassifoni" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Lucassifoni/120/39057_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Lucassifoni
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This is actually great !</p>
<p>I think the discussion derives a bit on how could a JSX-like be implemented in practice, VS the benefits of a JSX-like approach where we don’t return templates but simply trees of element descriptors.</p>
<p>Maybe it is because I am trying to build more and more of my product offering in Liveview, but I see the appeal of doing away with templates entirely. I think the addition of :if, :for was a mistake (but an extremely understandable one if you look at the other template languages out there) because it delays further the switch to something capable of describing components in a sensible way.</p>
<p>We are very lucky to be able to build apps in an highly expressive language that runs on a VM particularly suited for the web. It would be great to not have to settle for a watered-down limited version of this language to write our render functions.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375702" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-375702" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375702"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #31"></div>
  </section>
</div>
    <div class="postbit" id="375721" data-post-id="375721">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="derek-zhou" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/120/19943_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  derek-zhou
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="garrison" data-post="31" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/g/3bc359/48.png" class="avatar"> garrison:</div>
<blockquote>
<p>I hope it is not lost on you that HEEx templates are also compiled,</p>
</blockquote>
</aside>
<p>There are compilers, and there are real compilers. A “degenerated sub-language” can be handled with a toy compiler, which we write and throw away all the time. However, if you want to blend 2 incompatible languages seamlessly like JSX, you need a serious compiler.</p>
<aside class="quote no-group" data-username="garrison" data-post="31" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/g/3bc359/48.png" class="avatar"> garrison:</div>
<blockquote>
<p>The only added value of JSX is that it makes the code <em>look prettier</em>.</p>
</blockquote>
</aside>
<p>Which is exactly my point. I question the cost/benefit ratio. Meta can do it because they knew people will follow them. Do you know that you will succeed? Case in the point: <a href="https://surface-ui.org/" rel="noopener nofollow ugc">Surface</a> is prettier than plain LV, but remain a niche within a niche.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375721" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-375721" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375721"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #32"></div>
  </section>
</div>
    <div class="postbit" id="375727" data-post-id="375727">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sreyansjain" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sreyansjain/120/16464_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sreyansjain
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Surface is percolating into Heex. Heex is pretty powerful. Liking the syntax is very subjective, but heex does get the job done.<br>
That being said, I would personally like to have code instead of templates. I created <a href="https://hexdocs.pm/ex_hiccup/" rel="noopener nofollow ugc">ex_hiccup</a> (inspired from <a href="https://weavejester.github.io/hiccup/" rel="noopener nofollow ugc">hiccup</a>), but the elixir formatter royaly screws it up. Not to mention the code highlighting issues.<br>
Like mentioned in this thread already, it would take a lot to make something popular (and good).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375727" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-375727" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375727"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #33"></div>
  </section>
</div>
    <div class="postbit" id="375728" data-post-id="375728">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jam" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jam/120/36266_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jam
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I like the <code>~H</code> sigil for that SFC feel. <code>.heex</code> feels like a bygone approach but to each their own.</p>
<p>In the JS world, svelte has the ideal SFC approach. Surface has a similar feel, it’s a shame that LV didn’t wholesale copy it. Thankfully, Hologram is carrying the torch now.</p>
<p>I can’t say I ever cared for JSX or React for that matter but again to each their own.</p>
<aside class="quote no-group" data-username="garrison" data-post="31" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/g/3bc359/48.png" class="avatar"> garrison:</div>
<blockquote>
<p>I get the impression that many assume React is bad because it is popular</p>
</blockquote>
</aside>
<p>IMO, React is bad because of VDOM and how it makes everything overly complicated and verbose, not because it’s popular. It seems to routinely introduce “solutions” to problems it creates. From a performance and DX standpoint, svelte, solid, and vue have all surpassed react.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375728" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/35">Post #34</a>
	                </div>
	            </div>
              <div id="likers-container-375728" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375728"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #34"></div>
  </section>
</div>
    <div class="postbit" id="375734" data-post-id="375734">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="garrison" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  garrison
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="derek-zhou" data-post="33" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/48/19943_2.png" class="avatar"> derek-zhou:</div>
<blockquote>
<p>Which is exactly my point. I question the cost/benefit ratio.</p>
</blockquote>
</aside>
<p>I think we are on the same page except that I am also in the group that thinks it looks prettier. It might not be noticeable in a small example but with a large page all of those tuples would start to get, like, pretty unreadable.</p>
<p>What’s clever about JSX, as I had mentioned earlier, is that it can visually degrade to HTML when appropriate while still preserving the full power of a real programming language underneath. A true one-size-fits-all solution.</p>
<aside class="quote no-group" data-username="derek-zhou" data-post="33" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/48/19943_2.png" class="avatar"> derek-zhou:</div>
<blockquote>
<p>Do you know that you will succeed?</p>
</blockquote>
</aside>
<p>Who cares? Like, this is literally a forum for a good-but-niche programming language. Are we all wasting our time?</p>
<p>And I think somebody else already made this point but if you are not aware HEEx literally came <em>from Surface</em> so that is an egregiously bad example lol</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375734" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/36">Post #35</a>
	                </div>
	            </div>
              <div id="likers-container-375734" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375734"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #35"></div>
  </section>
</div>
    <div class="postbit" id="375737" data-post-id="375737">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="garrison" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  garrison
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="jam" data-post="35" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jam/48/36266_2.png" class="avatar"> jam:</div>
<blockquote>
<p>Surface has a similar feel, it’s a shame that LV didn’t wholesale copy it.</p>
</blockquote>
</aside>
<p>What else do you think LV should have copied? As you probably know I copied the scoped CSS from Surface and I have been very happy with that.</p>
<aside class="quote no-group" data-username="jam" data-post="35" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jam/48/36266_2.png" class="avatar"> jam:</div>
<blockquote>
<p>IMO, React is bad because of VDOM and how it makes everything overly complicated and verbose</p>
</blockquote>
</aside>
<p>I don’t want to veer <em>too</em> far off-topic into some sort of JS framework debate here, but I will write this reply just in case it helps you or someone else.</p>
<p>If you want to understand why React is different from those other frameworks I would recommend at the bare minimum reading through <a href="https://acko.net/blog/climbing-mt-effect/" rel="noopener nofollow ugc">this series</a>, <a href="https://raphlinus.github.io/ui/druid/2019/11/22/reactive-ui.html" rel="noopener nofollow ugc">this other series</a>, and <a href="https://overreacted.io/react-as-a-ui-runtime/" rel="noopener nofollow ugc">this post</a>. There is a fundamental difference between React’s programming model and those other frameworks.</p>
<p>If you do not understand in detail how a React-style engine is actually implemented, you probably have a very wrong impression of what the VDOM actually is. I am speaking from experience. It was genuinely shocking to me how hard this information was to find. React as a research topic has been SEO’d into <em>oblivion</em>.</p>
<p>I think pretty much everything that comes out of the JS community is to be avoided. When I say React is good I am referring to its <em>design</em> (the engine and programming model), <a href="https://gitlab.com/unconed/use.gpu/-/tree/master/packages/live/src?ref_type=heads" rel="noopener nofollow ugc">which can be cloned in a few thousand lines</a>. I will begin cloning it too, very shortly (my research is now complete). First in JS, but then maybe also in Elixir.</p>
<p>And I will also say: I went into my research with a low opinion of React, and I expected to spend most of my time on signals frameworks and other “new stuff”. A good reminder that I need to keep my biases in check.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375737" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/37">Post #36</a>
	                </div>
	            </div>
              <div id="likers-container-375737" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375737"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #36"></div>
  </section>
</div>
    <div class="postbit" id="375738" data-post-id="375738">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="derek-zhou" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/120/19943_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  derek-zhou
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="garrison" data-post="36" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/g/3bc359/48.png" class="avatar"> garrison:</div>
<blockquote>
<p>if you are not aware HEEx literally came <em>from Surface</em> so that is an egregiously bad example lol</p>
</blockquote>
</aside>
<p>Surface predates HEEx and HEEx certainly took good ideas from Surface. But saying HEEx came from Surface is a stretch. HEEx came from LEEx which in turn came from EEx.</p>
<p>I prefer Surface over HEEx, and it seems like I am the minority. My point: something can be prettier and less popular.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375738" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/38">Post #37</a>
	                </div>
	            </div>
              <div id="likers-container-375738" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375738"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #37"></div>
  </section>
</div>
    <div class="postbit" id="375750" data-post-id="375750">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="garrison" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  garrison
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I mean, <a href="https://github.com/phoenixframework/phoenix_live_view/pull/1440" rel="noopener nofollow ugc">is it really a stretch</a>? Some of that code <a href="https://github.com/surface-ui/surface/blob/aee9f0902f15aff88b66e00034f96593a55e01b3/lib/surface/compiler/tokenizer.ex" rel="noopener nofollow ugc">looks pretty familiar</a>.</p>
<p><em>My</em> point is that Surface, despite being niche, was clearly not a waste of time because the improvements it made to template parsing were literally backported to Phoenix.</p>
<aside class="quote no-group" data-username="derek-zhou" data-post="38" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/48/19943_2.png" class="avatar"> derek-zhou:</div>
<blockquote>
<p>My point: something can be prettier and less popular.</p>
</blockquote>
</aside>
<p>I agree! It sounded like you were claiming that making “less popular” things is a waste of time. If that’s not what you meant then DW about it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375750" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/39">Post #38</a>
	                </div>
	            </div>
              <div id="likers-container-375750" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375750"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #38"></div>
  </section>
</div>
    <div class="postbit" id="375753" data-post-id="375753">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="derek-zhou" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/120/19943_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  derek-zhou
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="garrison" data-post="39" data-topic="72879">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/g/3bc359/48.png" class="avatar"> garrison:</div>
<blockquote>
<p>It sounded like you were claiming that making “less popular” things is a waste of time.</p>
</blockquote>
</aside>
<p>Of course not. How anyone spend their time is entirely their own judgement. If it makes you happy and you have a reasonable expectation of the eventual adoption, go for it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375753" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/40">Post #39</a>
	                </div>
	            </div>
              <div id="likers-container-375753" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375753"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #39"></div>
  </section>
</div>
    <div class="postbit" id="375760" data-post-id="375760">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="nikfp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nikfp/120/37207_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  nikfp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I gotta say I have to agree with this take. Modern editor tooling does a good job of giving you multiple views into the same file, and by leveraging that, it matters a whole lot less if the template and logic are divided. You are limited in what you can look at on a screen either way, even with splits.</p>
<p>What sways me slightly toward single files is the ability to encapsulate abstracted pieces of markup. Small functions providing little helpers that don’t leak out into everything else has proven to work well for me - but to a point. A large, complex file can get unwieldy and I’ve had to resort to comments marking out sections like “handlers", “helpers”, etc. more than once, just so I can find in file to get what I need.</p>
<p>Regarding things like syntax highlighting, I’ve never experienced issues, separate files or not, so I don’t know what the fuss is about. BUT I’ve only ever touched elixir in editors that use treesitter for syntax highlighting. I understand it might not work as well with regex highlighting, so maybe a fair point?</p>
<p>For me, I think the biggest friction point is what to do with the markup you do want to reuse. Core Components starts out as a big file, so where do new shared components go? How do I decide what’s a new core component and what lives in a separate files? Where do those separate files live? How do I communicate that to future devs? Etc.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="375760" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/h-sigil-everywhere-vs-heex-files-any-real-world-experience/72879/41">Post #40</a>
	                </div>
	            </div>
              <div id="likers-container-375760" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375760"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #40"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/72879/load_more?page=5">Load more posts (15 remaining)</a>
</div></template></turbo-stream>