I agree with all that - there isn't a web framework for Julia that is at the level of something Django or RoR. It seems totally reasonable to use those mature tools for the frontend of your webapp, which could in term communicate with a Julia backend.
I just meant that some of the lower levels of the stack, like implementation for the full HTTP spec, proper handling of unicode and binary data at the HTTP level, solid SSL support, etc is good now. HttpServer.jl includes examples of setting up HTTPS. On Thu, Sep 24, 2015 at 9:16 AM, Andrei Zh <[email protected]> wrote: > It's great that webstack has got many improvements recently, but as far as > I can see even more job is still to be done. E.g. for me 2 kinds of web > apps that I need most often are web UIs and high-performance web services. > I'm not sure about performance (last time I tested HttpServer it was quite > moderate, but maybe it has changed already), but for web UIs I miss at > least following features (taking Mux as the basis): > > - template engine: Mustache.jl can probably be used, but so far Google > knows about zero common occurrences of Mustache.jl and Mux.jl except for > very general lists of frameworks > - serving static files: possible to do in pure Julia, of course, but it's > another several hours to implement > - sessions: middleware is exactly for this kind of things, but again, > it's better to have it out of the box, than write everything yourself > - authentication and security: how to set up HTTPS? how to restrict > access to certain pages? > - stability: I've just knew that Morsel.jl is now deprecated, if I had > applications using it, I would need to migrate them now, and I'm really not > sure Mux.jl won't be deprecated during next year too > > This means that if you want to provide users with a nice interface to your > Julia application, you should either spend a couple of days adding missing > stuff (and probably not in way suitable for other users) or just use, say, > Python and do the job in a couple of hours. > > > On Thursday, September 24, 2015 at 2:35:57 AM UTC+3, Jonathan Malmaud > wrote: >> >> The webstack has seen considerable improvement lately. Mux is the most >> mature and supported webapp framework at this point. >> >> On Wednesday, September 23, 2015 at 4:58:01 PM UTC-4, Andrei Zh wrote: >>> >>> If you are looking for a best in the class libraries, you probably won't >>> find many. This is implied by a simple fact that most such libraries had >>> already been created in other languages by the time Julia was born. >>> However, if you want something comparable to such best libraries, then I >>> would stress the following areas (from my experience and highly >>> subjectively, of course): >>> >>> * image processing (e.g. Images.jl, ImageView.jl), which still changes, >>> but has quite impressive functionality already >>> * deep learning (e.g. Mocha.jl, Strada.jl, Boltzmann.jl) - fast, full >>> functional, easy to use and modify libraries (compare to frameworks in C++ >>> or Theano, for example) >>> * concurrent, parallel and distributed programming (core Julia) - far >>> behind Python or R, probably comparable with Erlang >>> * GPU computing (see JuliaGPU organization) - pretty convenient, >>> especially combined with Julia's compilation to native code >>> * symbolic and metaprogramming (macros, Calculus.jl) - like Lisp with >>> infix notation or SymPy, built in the language >>> >>> I also expect that Julia will become more popular with development of >>> new areas for which there are no good libraries at all and Julia may become >>> perfect solution. At the same time, to keep people involved, we not only >>> need to add more strengths, but also remove weaknesses. And Julia's web >>> stack seems to be one of the biggest weaknesses, so if you are interested >>> and wish to contribute, please, do it. >>> >>> >>> On Wednesday, September 23, 2015 at 5:03:02 PM UTC+3, Páll Haraldsson >>> wrote: >>>> >>>> On Wednesday, September 23, 2015 at 12:35:47 PM UTC, Randy Zwitch wrote: >>>>> >>>>> Julia is as capable as any of the languages you have mentioned as far >>>>> as I'm concerned. When I read "people want to get work done", I read that >>>>> as "people want SOMEONE ELSE to do the work". >>>>> >>>> >>>> And you would be absolutely right. I tried to phrase the question in a >>>> positive way with "and help needed?" [For me, that would be mostly non-math >>>> stuff*, and I've submitted some trivial/beginner.. fixes.] I'm ok with >>>> that as I am just tinkering. Imagine Julia had no libraries, as at first >>>> then I would have been as exited about the language. It is a language that >>>> makes me think differently and try new paradigms I haven't tried before >>>> (multiple dispatch). >>>> >>>> I might have tried to build a website (and web server from scratch). >>>> Some people do not want to be early adopters. I can understand that. I'm >>>> not so sure you would be by now. I'm asking about the "ecosystem" not the >>>> language per se. I know about JuliaQuant, BioJulia, GPU stuff in Julia >>>> JuliaWeb etc. I am so grateful for what has already been done with the >>>> language - and the libraries from what I can see. If there where my fields, >>>> I think I would jump on Julia right now. >>>> >>>> I'm not sure why people are reluctant, I want to tell them you do not >>>> only have basic building blocks (linear algebra/matrix multiplication, FFT >>>> etc. stuff in Base), but also these libraries that (mostly) work, and if >>>> not you can help fix/contribute. I do not want to oversell Julia, so I keep >>>> quiet (mostly) about stuff I'm ignorant about.. >>>> >>>> >>>> * I knew about say, Morsel (Sinatra-like), then Mux is recommended over >>>> it. I'm not sure, it seems to be a replacement/also Sinatra-style. I've >>>> never used "full web frameworks". PHP isn't my favorite language and while >>>> I'm sure Python (or Ruby) is nice for web stuff I'm willing to use Julia >>>> even if there is (short term) pain/learning experience.. I would want to be >>>> able to do what is needed in pure Julia. Even knowing about future >>>> direction is helpful, there might be some duplication of effort and you >>>> might end up fixing the wrong package.. A list of packages to use/focus on >>>> for helping with would be helpful in this and the other two areas. >>>> >>>> > Julia probably isn't the place for them now >>>> >>>> Are at least some of the packages ready and used in production already? >>>> >>>> -- >>>> Palli. >>>> >>>>
