<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/reigniting-the-fire-a-roadmap-for-fiery/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://www.data-imaginist.com/2017/Reigniting-the-fire/"> Data Imaginist - R posts</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>Last summer, just prior to starting as an intern working for Hadley, I published<br>
<a rel="nofollow" href="https://github.com/thomasp85/fiery" target="_blank"><code>fiery</code></a>, a flexible webserver framework<br>
that I had worked on during the spring. The reason why I developed <code>fiery</code> amids<br>
offerings such as <code>shiny</code>, <code>opencpu</code>, and <code>plumbr</code> was that I was missing a<br>
back-to-basic server framework with low overhead and freedom to program your<br>
server logic in the way you wanted. For all of their accomplishments I felt that<br>
the other frameworks had different goals.</p>
<p><img alt="logo" src="https://i0.wp.com/www.data-imaginist.com/assets/images/fiery_f.jpeg?w=456" data-recalc-dims="1"></p>
<p><code>fiery</code> has always been intended to be modular, with support for adding plugins<br>
in order to augment functionality, but since publishing <code>fiery</code> I’ve<br>
unfortunately been distracted by other projects (mainly <code>ggforce</code>, <code>ggraph</code>,<br>
<code>tidygraph</code>, and <code>particles</code>). During all this my bad conciusness about the<br>
<code>fiery</code> standstill has nagged my though, and for several different reasons I’ve<br>
decided that now is the time to restart development of this ecosystem. This post<br>
is as much a help and incentiviser for me as it is an overview of my plans for<br>
prospective users.</p>
<h3>routr</h3>
<p>The first piece of the puzzle to work on is my<br>
<a rel="nofollow" href="https://github.com/thomasp85/routr" target="_blank"><code>routr</code></a> package which was intented to be<br>
released rather shortly after <code>fiery</code> itself but fell down the priority list as<br>
my visualisation packages gained traction. While the main functionality of the<br>
package is there, it’s rough around the edges and is in general need of a full<br>
code review and update. Once <code>routr</code> is completed the whole act of writing<br>
server logic in <code>fiery</code> will be much more streamlined and easy.</p>
<h3>A Deployment scheme for fiery apps</h3>
<p><code>fiery</code> is both intended for local running apps in the same vien as htmlwidgets<br>
etc., for powering webapp server logic, and for services deployed to production<br>
environment. For the two latter there has yet to come a streamlined deployment<br>
scheme and this is of course a prerequisit for usage. My current plans, which<br>
will be developed under the <code>firestorm</code> mantle, is to set up infrastructure for<br>
easily deploying <code>fiery</code> apps as docker images and leveraging as much as<br>
possible from the docker ecosystem in terms of setting up load balancing and<br>
service discovery. Optimally all of this should be doable from within R and<br>
without fiddling with dockerfiles and other configurations.</p>
<h3>Making (some) security easy</h3>
<p>The internet is a wild place and you shouldn’t expose a sevice without at least<br>
some security measures. While not all of these shld be implemented at the<br>
<code>fiery</code> layer, those that do should be as easy and obvious as possble. The<br>
<code>firesafety</code> plugin package will attempt to collect all the best practices for<br>
secury http(s) and websocket communication with the big wide world</p>
<h3>Taking caree of your data</h3>
<p>Whether you’re building a stateful app where session should be managed, or a<br>
REST api, data needs to go somewhere. The <code>firesale</code> plugin package will be the<br>
home of a fiery-centric datastore implementation, with support for sessions and<br>
the likes.</p>
<h3>Demos for the demo god</h3>
<p>No web framework is complete without example apps, hopefully along with<br>
easy-to-read guides on how to build them. I hope to be able to provide this as<br>
well down the line, though focus is of course on providing good R documentation.</p>
<h2>Wrapping up</h2>
<p>That was a lot of words and promise without anything to really show for it. I’m<br>
acutely aware of that. The above provides a very loose overview of what I intend<br>
to do, but I’m in no position to provide a timeframe – you can read the list as<br>
sort-of prioritised thus getting a sense of where my spare time will be spend<br>
first.</p>
<p>Here’s to hoping I don’t get derailed again <img alt="😄" src="https://s.w.org/images/core/emoji/2/72x72/1f604.png" class="wp-smiley"></p>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://www.data-imaginist.com/2017/Reigniting-the-fire/"> Data Imaginist - R posts</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/CkmAPNsYRIA" height="1"></a></div>