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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="aseigo" data-post="6" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/aseigo/48/10674_2.png" class="avatar"> aseigo:</div>
<blockquote>
<p>really hitting heavy numerics</p>
</blockquote>
</aside>
<p>That’s why I pointed as heavy financial, still there are NIF but the OP does not know very well Erlang to make use of NIFs or even write them as noted:</p>
<aside class="quote no-group" data-username="ionbordian" data-post="1" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ionbordian/48/11119_2.png" class="avatar"> ionbordian:</div>
<blockquote>
<p>but I can take some time to learn Elixir/Phoenix.</p>
</blockquote>
</aside>
<p>If the OP has time to learn NIFs then this disavantage can turn into an advantage since you hit C performance for calculation which are way better than common Java.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92535" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-92535" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92535"
                     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 #11"></div>
  </section>
</div>
    <div class="postbit" id="92536" data-post-id="92536">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I also went to google to search on how to transform docx because I didn’t know it is xml, but as all xmls is super complicated with lots of schemas. But there are libraries for other languages, which you could use Ports send the message with the necessary context (data to render) and write the document on other language, such as Ruby or Javascript, the downside is that you’ll need another runtime installed</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92536" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-92536" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92536"
                     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 #12"></div>
  </section>
</div>
    <div class="postbit" id="92537" data-post-id="92537">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="OvermindDL1" data-post="10" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/overminddl1/48/2677_2.png" class="avatar"> OvermindDL1:</div>
<blockquote>
<p>Might be worth a blog entry sometime perhaps.</p>
</blockquote>
</aside>
<p>Pretty Pleeease!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92537" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-92537" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92537"
                     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 #13"></div>
  </section>
</div>
    <div class="postbit" id="92551" data-post-id="92551">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="joaoevangelista" data-post="12" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/joaoevangelista/48/39742_2.png" class="avatar"> joaoevangelista:</div>
<blockquote>
<p>NIF but the OP does not know very well Erlang</p>
</blockquote>
</aside>
<p>Thankfully one does not need to know erlang or anything special to use them. If you have used ets, or any other “:something” module names, you’ve “used erlang”, and the NIFs are hidden behind those APIs.</p>
<p>Yes, writing your own NIFs takes a bit more experience and some C or C++ chops, but if we look at libs like matrex it is just like using any other elixir code .. but fast <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> And that’s a library that challenges, and even beats in some ops, numpy!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92551" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-92551" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92551"
                     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 #14"></div>
  </section>
</div>
    <div class="postbit" id="92634" data-post-id="92634">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="aseigo" data-post="15" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/aseigo/48/10674_2.png" class="avatar"> aseigo:</div>
<blockquote>
<p>Yes, writing your own NIFs takes a bit more experience and some C or C++ chops</p>
</blockquote>
</aside>
<p>Rust is another option via <a href="https://github.com/hansihe/Rustler" rel="noopener nofollow ugc">Rustler</a> - write NIFs in Rust, which is safer than C/C++. I was able to get a toy NIF running with zero experience in just a few minutes, and Rust was also surprisingly accessible.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92634" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-92634" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92634"
                     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 #15"></div>
  </section>
</div>
    <div class="postbit" id="92638" data-post-id="92638">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="ionbordian" data-post="1" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ionbordian/48/11119_2.png" class="avatar"> ionbordian:</div>
<blockquote>
<p>Basically, will Phoenix be appropriate to build large forms with validation, without me having to reinvent the wheel for each page?</p>
</blockquote>
</aside>
<p>Ecto is the best framework I’ve ever seen for data validation and for general SQL integration. Total freedom and power without drudgery.</p>
<aside class="quote no-group" data-username="ionbordian" data-post="1" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ionbordian/48/11119_2.png" class="avatar"> ionbordian:</div>
<blockquote>
<p>it will need calculations and also report writing</p>
</blockquote>
</aside>
<p>It can totally do this. Honestly all the discussion of NIFs etc is a major distraction. For <em>business applications</em> Elixir is more than adequate to the task of calculating fields, and Ecto is also really great at helping you push this down to the data tier without pain and drudgery. This isn’t about matrix calculation for scientific or big data applications.</p>
<p>Report writing is perhaps a weakness. If you have to do complicated reports with multi-level nesting and roll-up which Crystal or SSRS can totally crush, you may think its too much work to roll it yourself in Elixir. You could use an external reporting solution if you really need this functionality, and try to share some views so you don’t totally duplicate the data layer (but you will duplicate it anyway).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92638" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-92638" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92638"
                     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 #16"></div>
  </section>
</div>
    <div class="postbit" id="92655" data-post-id="92655">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="jeremyjh" data-post="17" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeremyjh/48/5995_2.png" class="avatar"> jeremyjh:</div>
<blockquote>
<p>It can totally do this. Honestly all the discussion of NIFs etc is a major distraction. For <em>business applications</em> Elixir is more than adequate to the task of calculating fields, and Ecto is also really great at helping you push this down to the data tier without pain and drudgery. This isn’t about matrix calculation for scientific or big data applications.</p>
</blockquote>
</aside>
<p>Absolutely this. I also mention to people that for hardcore number crunching they will have to reach to NIFs or Ports but the truth is, your app – and number of contracts, and revenue – has to be pretty ahead in terms of both technical and business development before you actually need to reach to lower-level language for more raw muscle.</p>
<aside class="quote no-group" data-username="jeremyjh" data-post="17" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeremyjh/48/5995_2.png" class="avatar"> jeremyjh:</div>
<blockquote>
<p>Report writing is perhaps a weakness.</p>
</blockquote>
</aside>
<p>I keep mentioning to people how I reduced the time for a singular report generation in Ruby – it was 2.5 - 3.0h before and ended up 7 - 15m afterwards (after I rewrote the reports in Elixir). Sure, not lightning fast but a 17x - 25x improvement nonetheless. Would a dedicated reporting software with an SQL GUI have done better? Absolutely. But that’s not the point – people often times need frictionless solutions and they need them yesterday.</p>
<p>Elixir is good in that regard. A lot.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92655" data-batch-url="/posts/batch_likers">
                        3
                      </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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-92655" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92655"
                     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 #17"></div>
  </section>
</div>
    <div class="postbit" id="92676" data-post-id="92676">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="brentjanderson" data-post="16" data-topic="15795">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/brentjanderson/48/13120_2.png" class="avatar"> brentjanderson:</div>
<blockquote>
<p>Rust is another option via <a href="https://github.com/hansihe/Rustler" rel="noopener nofollow ugc">Rustle</a></p>
</blockquote>
</aside>
<p>Rust is a great shout, though if you are binding to existing libraries, paricularly C++, ot can be easier to just that route directly. But for new work from “while cloth” ruat via rustler is a very nice option indeee</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92676" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-92676" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92676"
                     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 #18"></div>
  </section>
</div>
    <div class="postbit" id="92725" data-post-id="92725">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My understanding is it’s not particularly hard to use Rustler to wrap C++ libs either…</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="92725" 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/jee-vs-phoenix-for-full-stack-enterprise-web-application-crud-calculations-report-writing/15795/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-92725" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="92725"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>