Hi Reuben, I largely work in this space. I can walk through a few possible architectures that I have used:
1) If the data pull and processing is fairly decoupled from the display, it is often easiest to use Julia only on the back end. I have a few systems that pull new data every hour and add it to a database. I then use Julia to do a bunch of processing and analysis, then load the results back into a different portion of the database. You can then build a normal data-driven web app using standard tools that only looks at the database, and doesn't need to interface with Julia anywhere. If you don't have any experience building web pages, I would suggest using Angular 1 and Plotly for the front end, and Node/Express for the back end. Some basic data manipulation can be done via SQL if you use MySQL or similar, or in the web app itself using things like d3 and lodash. I don't have any publicly available examples of this, but I could put one together if you like. 2) If the data pull and processing is strongly coupled to the data display, you can call Julia directly from a server-side web application rather than look at cached data. You have a few options for the server-side code. One is to call Julia from Node using node-julia <https://github.com/waTeim/node-julia>. I have a rough example of how you would do this here <https://github.com/waTeim/node-julia>. One risk is that while node-julia works, it's a bit tricky to use, and I don't know what Jeff's plans for the package are. You would again use a normal front-end tools like Angular/React for the front end. Alternatively, you could write the back-end in something like Mux.jl <https://github.com/JuliaWeb/Mux.jl> rather than in Node. I don't do this, because I need to use things like https and SSPI in an enterprise environment, but I think it should work fine. 3) Lastly, you could write the whole thing in Julia using something like Escher or Genie.jl <https://github.com/essenciary/Genie.jl>. These are both very interesting projects and represent an incredible level of work, but I don't think they are ready for production use yet. I strongly recommend the first option if possible. It might seem like a bunch of different parts that all need to work together, but I think it's actually the easiest to set up and maintain, and lets you use the use the best tools in each domain. Failing that, try the 2nd. If you have any questions or would like to discuss this further just let me know. Cheers, Alex On Monday, October 31, 2016 at 9:08:01 PM UTC-7, Reuben Brooks wrote: > > Context: I love julia, and I've never built any kind of webapp. Most of my > programming experience is in Mathematica and Julia...hacking things > together (poorly) in Python when nothing else works. > > Problem: I have a script / notebook in julia that pulls data from > sources, analyzes it, builds fancy plots, and has lots of nice information. > Now I want to build a basic webapp that will allow me to access this > information anywhere, anytime (will be updated regularly). > > Question 1: is there a julia package that suits my needs well, or should I > look at using some other fronted to create the frontend? Elm intrigues me, > as much for the learning as for the actual solution. > > Bottom line: I don't know enough about what I'm wading into to choose > wisely. What does the community suggest? >