Ask HN: What web framework would you recommend for a greenfield project in 2018?
It's really hard to keep up, they're changing and coming and going all the time. Between now and the time I last looked into the latest frameworks, Angular has jumped from 1 to 2 to 4 and now I think it doesn't even have a version number? And React blew up but Vue is keeping up, Rails seems to be losing traction, ClojureScript and Elm seem to have had a brief spike in popularity, then there's Ember, and in general I'm very confused.
In particular I don't have a lot of particulars. I plan to deploy to EC2 and there is a need for a little bit of JS on the front-end for some stuff that can't be done server-side, but other than that it's all a very standard web app.
Comparison articles come out all the time but it's really hard to judge the competency or bias of the author. So I'm turning to you HN considering your reputation for being at the front of the game.
19 comments
[ 2.9 ms ] story [ 56.4 ms ] threadIf the project is such that you don't need to specifically have server APIs separate from the content you serve, you might want to look at Next.js or After.js, which are two similar approaches to a "just make a whole website out of React components, including server-side functionality".
The alternative to web design frameworks https://www.creativebloq.com/web-design/alternative-web-desi...
Quiz: What CSS framework should you use? https://www.creativebloq.com/features/quiz-what-css-framewor...
Top JavaScript Libraries & Tech to Learn in 2018 https://medium.com/javascript-scene/top-javascript-libraries...
Fullstack React PDF http://www.filedropper.com/reactjs
Mastering Web Application Development with AngularJS https://github.com/rpatil/Utility/blob/master/Books/Masterin...
YAML CSS Framework — for truly flexible, accessible and responsive websites http://www.yaml.de
Best WYSIWYG (what you see is what you get) Editors Software https://www.g2crowd.com/categories/wysiwyg-editors
Click on the comment time stamp, and you should find a flag link beside the favorite one
Not sure that this is what you meant
On the front end try Elm.
Don't worry too much about choosing the "wrong" language or framework. What you build matters more than how you build it. For example, many would recommend Postgres over MySQL for good reasons, yet those who use MySQL are doing just fine [2]. Their advantages are often insignificant in practice, so feel free to ignore the hype (especially here on HN)!
Angular, React, Vue are all fine choices for building SPAs. Rails is kind of out of place here (it's not a front-end framework). The hype around it has died, but Rails itself is still very much alive, and it's very mature. ClojureScript and Elm may need a bit more getting used to depending on your experience. Their communities are relatively small though, so you'll have less resources available.
[1] PHP gets a bad rap for its past, but modern PHP really isn't so bad (very Java or Ruby like, depending on the framework that you choose). jQuery is "old", but reliable. Not a good idea if you're building something highly interactive, but if you only need "a little bit of JS" then it seems like a good fit. SPAs have many advantages, but are also much more complex, so avoid building one if you don't need to.
[2] https://www.mysql.com/customers/
It gives you an easy way to structure your application in a predictably manner.
In my opinion, Angular lends itself to CRUD-type applications particularly well because of a clear separation between business logic and the presentation layer as well as due to easily reusable components.
Since Angular 2 the tooling has become quite reliable as well.
As for the back-end I'd suggest Spring Boot. It allows you to draw upon the vast amount of high-quality libraries available for the JVM without incurring the complexity cost that in the past often used to come with Java.
Know PHP? Take Laravel. Know Ruby? Take Rails. Know JS? Take vanilla Express. Know Python? Take Django.
Sprinkle some jquery on top for the frontend with bootstrap for quick UI. And if you plan to support only modern browsers (not IE), you might not even need jquery. A whole lot of the api is built straight into modern browsers.
Any such tomfoolery such as Single Page Application Frameworks, Server Side Rendering of said frameworks is never required. Not even facebook, which built react for its own use, has a fully React rendered page.
Deploy them on a regular servers/stacks. No unnecessary docker, kubernetes, etc., is required, unless you are making a project for google where you will get a million hits on the first day.
I'd love to talk more about what/why if you have any questions. Shoot me an email @ [redacted] if you're interested.
Know Haskell take yesod
If you plan to write a volume of code comparable to a small novel, you will likely want to do so in a comfortable way, able to express nuances and details in an efficient, readable, elegant manner.
There aren’t many writers who can write equally well in French and English, and even fewer who can write fluently and with finesse in Belgian French, Canadian French, UK English, Australian English, Mexican Spanish and Catalonian Spanish.
It takes constant experience and refinement to master Ruby + the rails API, something I imagine is even more true for the front end in the presence of elm etc.
I know that i would pick up the tools that my brain groks with the least effort (from a set of reliable, popular, well maintained options). The way my mind works can be the weakest link or my strongest asset — if I take it in consideration.
I can think Vue but I can’t think React. I can joyfully think Ruby but I get frustrated with C# or pho etc. slim makes me happy, erb pokes my eyes.