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. >>> >>>