Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are you using to build new web apps?
12 points by yawn on Aug 29, 2012 | hide | past | favorite | 19 comments
I have an idea for a web app. It's been a couple of years since I've written anything from the ground up and I'd like to scratch my learning itch. Ideally, the framework/tools would have support for persistence, users, and REST. I don't care about language, but I'd prefer something easy to learn and maintain. I'm not worried about scalability (yet?). What are you guys using today? Any sharp weapons that aren't getting the spotlight they deserve? Have things advanced much in the last couple of years?



Python and Flask framework. You could try Django as well but I personally found Django to be too bloated for me (not trying to start flame war here). The beauty of Flask is that it comes with just about enough core functionality to get you started and you can always use their extensions to add on top as needed.


For you Flask proponents, do these extensions solve my reqs? Users: Flask-Login, REST: Flask-Restless. Have people voted with their feet on these?


In general, Flask extensions are written very smartly that you can couple/de-couple with your core Flask app. Personally, They go through a rigorous process of getting approved by the Flask team before they officially become flask extensions. I have used Flask-login which is very good for basic session management. I also like Flask-SQLAlchemy, Flask-WTF for ORM and forms. So in general, some are pretty good but cannot say for every flask extension.

Overall, to create a web app as beginner, Flask is definitely recommended by me. I built a User Management app using Flask recently (registration,auth etc.) within 8-10 hours of coding.


I have a couple of libraries

a library for mapping http requests to domain objects (see 'naked objects' pattern), with convention based runtime form generation. no more writing controllers, most views are generated, full feature REST API out of the box. A bit like Django admin template, but more powerful.

an in memory 'db', persisted using an event log of user inputs to the domain model (see 'prevalence' pattern). no more worrying about network latency, no more mapping objects to database columns, no more writing update scripts (or at least not much)

I don't think either of these approaches have much love in the mainstream, but I think they make me way more productive than the standard MVC/(SQL/NOSQL) approaches.


Backend : Python/Flask

Database : MongoDB/MySQL

Front-End : HTML5/CSS3/LESS/JavaScript/jQuery/Bootstrap/Angular.js


Aside from ExtJS, most of the dev I've done has used js conservatively alongside server-side templates. Showing my old-school bias, I still instinctively hold js at arm's length.

With all the options available, what drew you to Angular?


I only use angular.js in projects in which I need fast web based rich user interface, similar to Gmail. In such projects not using javascript doesn't make sense as full page refresh will result in slow unpleasant UX. Also such projects need heavy use of javascript and using jQuery make things unorganized and complicated as code size grows. This is the reason why frameworks like angular.js/backbone.js/ember.js exists.

However, for most web apps, I don't use much javascript other than some lines of jquery or 3rd party jquery plugins.

There are no hard and fast rules for technology selection. At the end of day what matters is choosing technology that provides best possible user experience, easy development workflow and maintainable code.


python on google app engine

https://developers.google.com/appengine/docs/python/overview

Easy to use, can support what you want to do, easy to maintain, easy to scale.


Do you worry about lock-in with regards to persistence? How hard would it be to get the data out and switch over to controlling the back end yourself?


It would take some work to get the data out.


At work: C# MVC4/SQL Server

At home: Rails/Postgres/Heroku

C# is a lot more rigid, and I find it a lot harder to find quick answers to the obscure errors I inevitably generate (as opposed to Rails, where Google has the answer every time).


Recently, I'm all about Python and Flask (or Web2Py for simpler things).


Django-- it's popular (easy to get support questions answered) and a lot of fun to learn. Although Flask and Bottle look interesting too.


consider webapp2 if you are looking for something lightweight


backbone.js+jQuery+ROR+Mongo I find this selection easy to use an powerful. backbone.js+jQuery has a lot of adoption and strong community, so it's easy to find answers and additional components.

ROR got strong community and language. Almost every functionality is available as a gem with code published on github.


Google Web Toolkit + AppEngine (I grew up on Java Swing so this is like the good old days... but not REST)


Flask and Angular.js with Solr/MySQL. Elegant and powerful.


Tornado(py) + Redis (queue)


padrino and whatever backend i need for the job at hand.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: