11 ms·
Ask HN: What frameworks are currently used in a modern web stack?
I'm curious which tools and frameworks are popular amongst today's web developers.
- joe_c 10y agoCheck this out... https://stackshare.io https://stackshare.io and their blog for featured posts... https://stackshare.io/posts https://stackshare.io/posts
- FloatingGhost 10y agoI'm using LAMoPy - Linux, Apache, Mongo, Python (flask) I don't buy into the whole Node.js thing, I much prefer the stability and maturity of apache. Mongo just because it's easy to use with python, and python because I love it <3
- pahaat 10y agoApache, stable, mature... doesn't work. Have you ever wondered why "Apache" is named like that?
- dugword 10y agoNode.js would not replace Apache in that stack, it would replace Python (flask). Apache is for static content and to act as an HTTP proxy for managing connections. You can, and should, put Apache (or Nginx) in front of a Node.js web service.
- ams6110 10y agoI'd be more curious to see a timeline of which tools and frameworks were popular over the last 10 years. I bet the amount of churn would surprise people.
- jlengrand 10y agoI didn't know the website, thanks!
- garymoon 10y agowhile True the javascript framework I created this morning, which I think is better than others
- osullivj 10y agoAngular 1.5, Tornado 4.2 & RethinkDB 2.3.5 for me. Tornado coroutines play beautifully with Rethink queries and change feeds. I've also got a proprietary C++ framework in the middle tier, so some of the server processes are C++ Python hybrids. Fortunately Tornado makes it easy to dispatch events into the C++ code via a think wrapper built in Python's C++.
- kookster 10y ago...might want to rethink rethink http://www.defstartup.org/2017/01/18/why-rethinkdb-failed.html http://www.defstartup.org/2017/01/18/why-rethinkdb-failed.ht...
- alexanderson 10y agoThe hipster stack is an interesting one. Elixir + Phoenix framework, GraphQL, React. Honestly, though, I'm doing everything with GraphQL now. It is a huge benefit for all aspects of application stack design now.
- hackerboos 10y agoDid GraphQL fix the authorization problems? Locking resources and attributes to authorised users?
- alexanderson 10y agoUsing Apollo Server, I get around authentication with an auth query which updates the context object of the query with the auth token of the user. Then, any subsequent queries can use that auth token to authenticate the user and authorize it for the query themselves. I've also seen it where the authentication is handled by middleware before GraphQL even touches the request. I figure those two methods work for about every use case.
- alexanderson 10y agoUsing Apollo Server, I get around authentication with an auth query which updates the context object of the query with the auth token of the user. Then, any subsequent queries can use that auth token to authenticate the user and authorize it for the crease themselves. I've also seen it where the authentication is handled by middleware before GraphQL even touches the request. I figure those two methods work for about every use case.
- paulddraper 10y agoNo more than HTTP or SQL fixes these problems on their own.
- karmajunkie 10y agoI do auth with a simple Ajax form and make all of my graphql calls take an auth header. Auth is really somewhat orthogonal to graphql. You can do it with graphql or not, up to you.
- yeezul 10y agoWhat color are your socks?
- lprubin 10y agoGraph based on Github and Stackoverflow data. http://hotframeworks.com/ http://hotframeworks.com/
- citrusui 10y agoInteresting that Bootstrap/Foundation/Semantic UI isn't up there. Is it because they only handle the front-end interface?
- owebmaster 10y agoClojureScript, reagent, re-frame
- joshiej 10y agoLAMP anyone?
- creativityhurts 10y agoSlack rocks LAMP https://twitter.com/SlackHQ/status/426469205005705217 https://twitter.com/SlackHQ/status/426469205005705217
- zuppy 10y agosymfony / react + docker for spawning containers for each service
- caleblloyd 10y agoGreat stack. I prefer to rock NGINX instead of Apache these days, which they call "LEMP".
- ausjke 10y agoIsn't nginx for static pages mostly, and it proxies load-balance/dynamic-content to other servers behind, will LEMP make development less straightforward comparing to LAMP? I'm actually using lighttpd these days due to its light-weight, and dynamic/static page support all-in-one.
- caleblloyd 10y agoCorrect, you can't run PHP inside the NGINX process like Apache can with mod_php. You have to run a PHP service listening for Fast CGI connections and configure NGINX to proxy via FastCGI to that service. The `php-fpm` package on Linux makes this easy to do.
- NatW 10y agoRuby on Rails or Node.js for the backend (API) and React for the front end. Rails is excellent for database migrations. Postgresql / MongoDb / Firebase for the database, depending on requirements.
- throwaway2016a 10y agoI'm saying this as a Node.js user myself so I'm not putting down Node but... Node.js is not a "Framework" Sails.js is a framework. You could argue that Express is. But Node itself if not.
- crisopolis 10y ago2nd this... Node.js for the 1 billionth time is not a "Framework". It is a JavaScript runtime. Sails.js, Meteor.js, and etc... are frameworks that use/run on Node.js.
- deleted 10y ago[deleted]
- romanovcode 10y agoAlso, Sails.js is the worst framework I've ever worked with. Never, ever use it.
- amingilani 10y agoI started backend development with Nodejs because I was familiar with JavaScript. I dropped sails after a month because of the lack of documentation and help available when something went wrong. A few months later I happened to try Rails and realized that that was what Sails was trying to be for JavaScript. At some point Sails will become awesome, but until then I'll stick with Rails.
- jagger27 10y agoGo / TypeScript@Node on the server, Angular 2, and whatever DB suits the job, none if possible.
- bandrami 10y agoI use GNU Artanis, but I'm definitely an outlier
- richardboegli 10y agoHow it feels to learn JavaScript in 2016 https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.l8ak5j3gz https://hackernoon.com/how-it-feels-to-learn-javascript-in-2... HN discussion: https://news.ycombinator.com/item?id=12634577 https://news.ycombinator.com/item?id=12634577
- pesch3 10y agoGrails(https://grails.org/ https://grails.org/) if you want "rails" in the java world
- dmux 10y agoIncluding DB migrations. I don't know if I could ever go back to working with SQL directly after using GORM.
- sAbakumoff 10y agoASP.NET Core is a lean and composable framework for building web and cloud applications. ASP.NET Core is fully open source and available on GitHub. ASP.NET Core is available on Windows, Mac, and Linux.
- throwaway13337 10y agoI'm excited about the future of .net core on linux but I'm waiting to hear some success stories. Have you built something significant with it you can point to? This is not snark - I'd really love to hear about it.
- manyxcxi 10y agoI've spent at least the last 10 years (including Uni days) writing mostly Java or .NET in some form or other. I don't mind Java, I generally like using Java 8, but I would happily be writing C# instead if I could run it as easy in as many places. The syntactic sugar, Linq, the latest MVC framework, etc- are generally much faster to get moving in and don't require the configuration hell you can run into w/ Java. However, as a guy who ALSO maintains the servers and deployment process for the things we build, I'll continue avoiding .NET until it can be built, archived, and deployed as easily as we do our Java based applications. I don't think I could even maintain a Windows Server now if I had to.
- UK-AL 10y agoWhat's hard about building and deploying .net applications? Currently use octopus, which probably one of the best deployment experiences. .Net core runs on linux, so you don't even need a windows server.
- cableshaft 10y agoWe use Octopus Deploy at work to deploy .NET. There's a bit of a learning curve, and it has a few quirks and annoyances, and you might need to write some Powershell scripts to fill in a few gaps (which it can run), but once you've got it in place, it's super simple to deploy everything. Every single deploy used to be a big hullabaloo at our company, now it's super smooth thanks to Octopus. If you're talking about Ant, Maven, Tomcat, etc for Java deployment, it's been about 5 years since I've had to use that, but I'd say Octopus is a much better process than that.
- jbrooksuk 10y agoLaravel, Nginx, PHP 7.0 and Postgres/MySQL.
- garymoon 10y agoI used Laravel for some projects that deal a few users. Where I work, we are reviewing different stacks for a project that will deal with a bigger quantity of users and I would really like to use Laravel, does Laravel have some performance issues or similar stuff when dealing with lot of users?
- wu-ikkyu 10y agoI've never had performance issues with Laravel, but if performance is very important for you, Laravel has a microframework called Lumen: https://lumen.laravel.com/ https://lumen.laravel.com/
- jbrooksuk 10y agoI've never experienced performance issues due to users. I run https://styleci.io https://styleci.io and we're absolutely fine dealing with thousands of users. If you're running jobs, be sure to do so on the queue.
- garymoon 10y agoThanks for the feedback, I will test Lumen
- grandbestmaster 10y agoTry out slim 3!
- alrpal 10y agoI still love Django. With vue.js in the client where necessary.
- throwaway13337 10y agoVue + django rest framework seems to be a sweet spot for single page apps at the moment.
- wjdp 10y agoNo love for Django? Django/Postgres
- gt565k 10y agoI used Django a few years back for a large project that involved facility management. It was a breeze to work with. The Django Admin functionality alone saved us weeks of work. That was version with 1.3! I wonder what the current state of the framework is. I need to get back into writing Python and using Django
- paulddraper 10y agoAdmin is the killer feature of Django. A close second is the world's easiest ORM.
- lastofus 10y agoI'd like to think Django devs are busy getting stuff done instead of obsessing over the latest tech stack :) In all seriousness, Django Channels looks to be a very good offering to compete with the async real time capabilities Go/Elixir/Node bring to the table. https://channels.readthedocs.io/en/stable/ https://channels.readthedocs.io/en/stable/
- debt 10y agoI'm a Django guy myself but I'm always curious what people are using.
- fiftyacorn 10y agoIm a java dev and done a django side project last year - loved it. Wish i could get the same money for django as i could for java and id switch today
- arvinsim 10y agoI have gone through work using Codeigniter, Laravel, Spring then Django. Django was very easy to learn coming from Laravel and has lot les boilerplate than Spring. Never going back! Maybe it is just hype but I am trying out Elixir. I am interested in the functional programming too so its a win -win for me.
- grandbestmaster 10y agoVue.js is just amazing.
- thibaut_barrere 10y agoPhoenix/Elixir/Vue.js/Postgresql is a very strong/efficient stack IMO these days.
- rajangdavis 10y agoDo you use Vue.js with Phoenix Channels? I've been very curious how one would integrate a javascript framework on top of Phoenix.
- thibaut_barrere 10y agoNot yet, but here are some links which I saved: - https://medium.com/@jespr/create-a-simple-chat-web-app-using-phoenix-and-vue-js-bc5d82e53f9b https://medium.com/@jespr/create-a-simple-chat-web-app-using... - https://github.com/ssuprunenko/phoenix-vue-2-example https://github.com/ssuprunenko/phoenix-vue-2-example - http://fullstackstanley.com/read/realtime-chat-with-vue-js-and-phoenix http://fullstackstanley.com/read/realtime-chat-with-vue-js-a...
- GvS 10y agoDjango (with REST framework and Postgres) + Angular 2 works best for me
- vegancap 10y agoI've been pretty happy with Go (no framework), React/Redux/Webpack, Mongo for loose data, Postgres for relational data.
- coldcode 10y agoWhich day? Just reading the comments shows a wide variety of options, so how do you determine popularity? I remember at my employer going through gyrations to determine the best popular JS framework about 4 yrs ago. None of the finalists even exist today. Whatever decision you make today, always plan to change everything even if you don't: you can't predict where your choices will go.
- adelarsq 10y agoSomeday Rust for backend will be here :)
- debarshri 10y agoGo with go-kit and react.js for front end. I find then pretty productive and quick to get started with.
- erikrothoff 10y agoWe're using Ember.js frontend with a Google Cloud Platform backend. It's like following all the latest JS trends with 100% less javascript fatigue.
- sidcool 10y agoWhat exactly on GCP? Firebase?
- caleblloyd 10y ago.NET Core with Entity Framework ORM and a relational database on the backend. Angular 1 on the frontend unless you have over 100 bound variables on a page, then consider ReactJS or VueJS.
- fatso83 10y agoYou advise to use an abondoned tech (Angular 1), that was full of unstable plugins and hard to use setups while it was active, instead of a simple to use view layer like React? The api surface of Angular is way too big to invest in, compared to the alternatives, of which there are many. ReactJS is vastly more popular for a reason, even though it arrived at a time when Angular already had a big following and huge momentum. If you have a super simple front-end with few variables you don't need a framework anyway. Vanilla JS is fine. But React+Redux is killer once it starts to grow into a big SPA.
- rpeden 10y agoI don't disagree with you advice re: React. Angular 1's commit graph shows it is far from abandoned, though: https://github.com/angular/angular.js/graphs/contributors https://github.com/angular/angular.js/graphs/contributors From what I've seen, Angular 1 is used in so many enterprise projects that some big companies would probably be willing to pay for continued development and support for years, should anyone be willing to provide it.
- k__ 10y agoThe current stack I work with: Gulp for task (test/build/etc.) Webpack for bundeling React/Redux for the front-end Bootstrap for the styling Koa for the back-end Socket.IO for the realtime stuff RethinkDB as the datastore Nginx as the reverse proxy to the API and static file server What would I change in the future? Getting rid of Gulp, most of the time Make should be enough. Replacing Redux, Socket.IO and Koa with the Apollo stack. GraphQL with its subscriptions solves most of the problems I had with REST and WebSocket APIs the last years. I'd probably use Preact instead of React, because it's much smaller. The React eco-system is unbeatable, so I wouldn't switch frameworks in the near future. Don't know about Rethink, it's a really nice DB and the change-feeds play well with GraphQL subscriptions on the other hand the company behind it went down the drain :\
- rohannair 10y agoapollo-server plugs into Koa, so no need to replace Koa.
- ma2xd 10y agoUsing Django/DRF/Postgres and Angular2.
- deleted 10y ago[deleted]
- JoelSanchez 10y agoI'm playing with Clojure/ClojureScript/Reagent/Datomic and liking it so far.
- ausjke 10y agonobody mentioned MEAN stack? I don't really like the M(mongodb) part though, looking for a backend framework and checking nodejs/express now, something like: Vuejs + Express + NodeJS + someDatabase
- nullmage 10y agoI'd like to throw in ArangoDB (multi-model NoSQL database) which I switched to after RethinkDB was shut down. https://www.arangodb.com/ https://www.arangodb.com/
- k__ 10y agoDoes it have change feeds? I'm using RethinkDB right now, but I would probably switch back to Postgres if I had to use something that didn't have change feeds.
- lisperforlife 10y agoPostgreSQL, Go micro-services, kubernetes based deployment and isomorphic React (Webpack, hot loading, ES6) frontend.
- holydude 10y agoSorry to hijack your topic. What is the most popular technology stack in terms of amount of jobs available on the market ? (world wide). Make a wild guess i do not need exact numbers. Java and or JavaScript ?
- leo_mck 10y agoasp.net core, aurelia (with typescript) on the frontend and just starting to throw graphQL on the mix. To me, web development never felt so easy and refreshing.
- alex_duf 10y agoPlay framework. I'm a big fan of it
- aryamaan 10y agoCan Play be used with Maven? What all things Play provide?
- nozzlegear 10y agoIt's not perfect, but I've landed on Node + Express for the backend and React for the frontend with both of them being written in TypeScript. It's incredibly nice to share the typings between my frontend and backend. I've also been pleasantly surprised by Nancy [1] on Mono, though, and almost always choose that when I need to use C#. [1]: http://nancyfx.org/ http://nancyfx.org/
- UK-AL 10y agoCurrently converting from .Net to .Net core
- awgneo 10y agoThere are just far too many better choices out there (Elixir, Phoenix) for me to ever consider going back to Microsoft technologies. I still haven't forgotten their ASP.Net MVC framework that nearly made me give up being a developer.
- UK-AL 10y agoASP.NET MVC is pretty much a clone of any service MVC framework(django, rails). I don't see the problem with it.
- brianwawok 10y agoWell you are letting Microsoft rule your life. Could go really good or could go really bad. With Django you have an actual community that drives the project.
- flukus 10y agodotnet core has a community driving the project. As for giving up being a developer, why? It's simple, straight forward and has never been frustrating to me.
- fatso83 10y agoDitto. Have used LAMP, JEE, Rails, Grails, ASP.NET MVC, Meteor ande Express.js. ASP.NET MVC is _fine_ and has decent performance. ASP.NET on .NET Core blows pretty much everything else out of the water performance wise, but there's more to life than performance. ASP.NET Core being open-source and running fine on Linux and Mac helps, though.
- brianwawok 10y ago
- pahaat 10y agoI'm currently getting used to Node.js Just bought "Getting Mean with...", which describes a MongoDb, Express, Angular and Node stack. (IMHO) However, first of all, the book is a waste of time and angular sucks. So in the end, I'm planning my upcoming project using Node, Express, CouchDB and plain ol' static pages with a slice of ECMAScript (yah... I admit, Bootstrap and jQuery will join the party).
- juliangoldsmith 10y agoOne a recent project, I've been using Golang with unrolled/render, julienschmidt/httprouter, and jmoiron/sqlx. I kind of wish I'd gone with something like Buffalo, but not using a framework has forced me to learn a lot, so I'm glad I didn't. The application itself is hosted on a VPS running Arch Linux, behind nginx, and uses Postgres with PostGIS for a database.
- crisopolis 10y agoAlso have a hipster/trendy stack... Backend: Elixir (using Maru [it's like Ruby's Grape]) Database: PostgreSQL Frontend: Vue.js or Elm (maybe)
- raleigh_user 10y agoRoll with flask or Hapi JS. Angular 1 front end (been meaning to switch to react). Postgres, rethinkdb, or mongo depending on needs.
- bharani_m 10y agoI am building my side project, Email This [0] with Elixir and Phoenix. Not using any JavaScript framework here, but I've dabbled a bit with React and Vue.js. Rails (Ruby) and Laravel (PHP) are some of the other solid options for building the backend. [0] https://www.emailthis.me https://www.emailthis.me
- hawkice 10y agoPhoenix/Postgres. If a project doesn't need a backend (boy howdy do I love keeping things in localstorage), Elm. I keep meaning to use Phoenix and Elm together but it never seems like the thing to do. I do love Elm a lot, though, I have a couple dozen widgets and what-have-yous written in it, and it's my preferred prototyping / build it in anger toolset.
- romanovcode 10y agoBackend: ASP.NET Core, Laravel, Koa Frontend: Angular/React What is NOT popular anymore: RoR, Angular1, Express
- krasicki 10y agoPolymer
- pplonski86 10y agoDjango + Django Rest Framework + AngularJS
- jamesmp98 10y agoYou want a hipster stack GraphQL / Couchbase / Node.js / React / Redux Personally, though, I am a fan of ASP.Net Core + Angular 2,
- 1_listerine_pls 10y agossh, bash, vim and .csv, on top of UNIX.
- amingilani 10y agoQuick question: authentication for restful APIs that are frontend agnostic. Any recommended readings? I've used third party libraries like devise_token_auth and I understand how JWTs work but is there a standard? Oauth2 maybe? I sound like I'm lost because I am. I still don't "get" authentication. The Oauth2 RFC confused me. Is there a dummy friendly tutorial on rest API authentication that also supports invalidating user sessions (unlike JWTs)