Live data from Hacker News

Ask HN: What are the best web tools to build basic web apps as of October 2016?

news.ycombinator.com

21–30 of 85 posts

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#21
post #14

Frontend: TypeScript, React, MobX There is (in my opinion) no reason not go with TypeScript. It's strictly better than ES6. React and MobX because of their simplicity. Backend: Go No particular reason to choose Go other than it's fun. TypeScript with Node is also a good choice. Edit: I am talking about SPAs.

Recently I've built, as a side project and soon-to-be open source, a micro SPA [1] to learn React+Redux and for the interface I chose Semantic-UI [2]. There's a official React integration [3] that is really good and easy to use, and since I wanted to mix pure HTML pages and the app, it's ideal to use a React UI framework that doesn't bundle all the CSS into the components.

The Semantic UI React integration also doesn't need jQuery, which is a nice bonus.

I agree with the TypeScript suggestion. It's so good, and the VS Code integration is awesome.

[1] https://javascriptobfuscator.herokuapp.com/ [2] http://semantic-ui.com/ [3] http://react.semantic-ui.com/introduction

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#22
I predict you're going to get a lot of different answers and that you may not find a strong consensus.

My advice is that there is no clear winner. Each technology serves a spectrum of needs, some better than others. If you're experienced enough to know what you need, then vet each technology in terms of what they offer to solve your problem. If not, my advice is to pick something that appears reasonable and go with it; you'll learn a lot, and eventually you'll arrive at the conclusion that all of these things are just tools--your own experience is the strongest thing you bring to the table.

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#26

* Backend performance: https://www.techempower.com/benchmarks/ * Frontend examples: https://github.com/tastejs/todomvc

There are tradeoffs between: performance, development speed, trainability (documentation), depth and breadth of developer community, long-term viability (foundation, backers), maintenance (upgrade path), API flexibility (decoupling, cohesion), standards compliance, vulnerability/risk (breadth), out of the box usability, accessibility, ...

So, for example, there are WYSIWYG tools which get like the first 70-80% of the serverside and clientside requirements; and then there's a learning curve (how to do the rest of the app as abstractly as the framework developers). ( If said WYSIWYG tools aren't "round-trip" capable, once you've customized any of the actual code, you have to copy paste (e.g. from a diff) in order to preserve your custom changes and keep using the GUI development tool. )

... Case in point: Django admin covers very many use cases (and is already testable, tested), but often we don't think to look at the source of the admin scaffolding app until we've written one-off models, views, and templates.

- Django Class-based Views abstract alot of the work into already-tested components.

- Django REST Framework has OpenAPI (swagger) and a number of 3rd party authentication and authorization integrations available.

- In a frontend framework (MVVM), ARIA (Accessibility standards), the REST adapter and error handling are important (in addition to the aforementioned criteria (long-term viability, upgrade path)) ... and then we want to do realtime updates (with something like COMET, WebSockets, WebRTC)

Similar features in any framework are important for minimizing re-work. "Are there already tests for a majority of these components?"

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#27
I'm going to go out on a limb and suggest this stack (especially if you're into functional programming):

Haskell + Elm or PureScript + Postgres

The best part about it is that it helps you catch many errors at compile time, instead of having your app crash at run time.

For keeping your Haskell and Elm data types in sync while maintaining sanity, I recommend elm-export [0], which will automatically generate the Elm types and JSON decoders from your Haskell code, using GHC Generics. Watch the author talk about it [1].

Choosing Elm over JS already gives you a head start, but you might hit a productivity wall at some point, and PureScript gives you all that extra power with its advanced type system. Some related discussion here [2].

Check out Matt Parsons' blog [3] for more on Haskell, Elm and PureScript.

Lastly, for database you can use Persistent [4] which gives you a type-safe API for data modelling and data store, and can automatically generate and perform migrations for you.

[0]: https://github.com/krisajenkins/elm-export

[1]: https://www.youtube.com/watch?v=sh4H8yzXnvw

[2]: https://www.reddit.com/r/haskell/comments/569cax/

[3]: http://www.parsonsmatt.org/

[4]: https://hackage.haskell.org/package/persistent

P.S. Do take my suggestions with a grain of salt as I don't have much experience with any of the fancy JS frameworks.

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#28
post #21
post #14

Frontend: TypeScript, React, MobX There is (in my opinion) no reason not go with TypeScript. It's strictly better than ES6. React and MobX because of their simplicity. Backend: Go No particular reason to choose Go other than it's fun. TypeScript with Node is also a good choice. Edit: I am talking about SPAs.

Recently I've built, as a side project and soon-to-be open source, a micro SPA [1] to learn React+Redux and for the interface I chose Semantic-UI [2]. There's a official React integration [3] that is really good and easy to use, and since I wanted to mix pure HTML pages and the app, it's ideal to use a React UI framework that doesn't bundle all the CSS into the components. The Semantic UI React integration also doesn…

React and mobx is like clojurescript's Reagent library, which I think is the next level after react-redux. It's like pseudocode, here's a direct translation of reagent's clock example: https://gist.github.com/lsdafjklsd/096f8657306a86832e6df1109.... This essense lib is just a unified api for mobx and react, I've been using it to teach people javascript. https://github.com/lsdafjklsd/essence

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#29
post #19

For frontend: Polymer/VueJs, for backend Python+Pyramid+SqlAlchemy are great options. For database Postgresql is your best bet.

How do you communicate between Polymer on the front-end and Pyramid in the backend?

Re: Ask HN: What are the best web tools to build basic web apps as of October 2016?

#30
post #8

For frontend, I prefer PolymerJS with vanilla JS. The way it scopes CSS/HTML/JS is cleaner, and this is the right direction. (I never use ReactJS.. but it might be similar). For backend, I prefer Play + Scala over Ruby/Python because of the static typing.

(Same question I asked another Polymer person).

How do you communicate between Polymer on the front-end and Play in the backend?

Post reply on HN