Ask HN: Which Framework? Why?
My friend and I were chatting yesterday about how many people start projects on Ruby on Rails just because it's familiar. Also, Ruby on Rails is popular enough that it's easier to find engineers to work/collaborate on your project.
Although generic and I understand that each application has its own requirements and therefore technologies will vary, please help me answer the following questions:
- If you're building a new web app today, which frameworks, platforms, technologies, etc. would you use? why?
- Would you choose a familiar framework that allows you to develop faster (because you're comfortable with it) even though it's not necessarily 100% 'right' for the job?
- Would you push your own limit and think outside the box to find a better solution even though introducing new technology to the team could be costly (and possibly unpopular)?
10 comments
[ 5.6 ms ] story [ 32.7 ms ] threadBackend:
NodeJS - It's nice to have javascript on both the frontend and backend. And NodeJS is FAST.
MongoDB + PostgresSQL - MongoDB for stuff that needs to be fast / fast to build. PostgresSQL for stuff that doesnt fit the document model.
Frontend:
AngularJS - It's either AngularJS or Ember.js, I prefer AngularJS. http://stackoverflow.com/questions/14395887/what-are-benefit...
Yeoman - Generate boilerplate code
Grunt - Compile LESS, Run tests, CSS minification
Bower - Javascript dependencies management
- Would you choose a familiar framework that allows you to develop faster (because you're comfortable with it) even though it's not necessarily 100% 'right' for the job?
I'd rather choose a new framework, at least if it's a project that I will put serious effort into.
- Would you push your own limit and think outside the box to find a better solution even though introducing new technology to the team could be costly (and possibly unpopular)?
Yes, I would definitely do it.
That's actually what I'm currently doing at a startup. We're refactoring the current frontend-javascript codebase which is 30 000 lines of code and it's completely unmaintainable, so we're rewriting it in AngularJS
If you use Backbone, you'll have to reimplement/include other libraries to use the right design-patterns. And this takes time. AngularJS and Ember.js makes these decisions for you which saves alot of time.
Yes, I said ColdFusion. That thing that was hot the 90's.
This post reminds me that customers don't care what stack you use, as long as it solves their problem: http://pud.com/post/9582597828/why-must-you-laugh-at-my-back...
For paid work, generally I stick to what I know -- a LAMP stack and whatever MVC/CMS framework fits the job.
My personal side projects are where I push borders and try to research new solutions. These side projects give me the breadth of knowledge to then be able to say, "hey, X technology will work really well" for work that is more important.
If you're asking for opinions on technologies and frameworks --
- I did a survey of php frameworks a few years ago and arrived at Kohana. It met my criteria of (1) a lightweight MVC framework, (2) code that is clean/easy to work with (aka not too much "voodoo" going on), (3) useful library of utilities (pagination, etc.), and (4) very configurable URL routing/validation. Developed one small and one medium sized kohana web apps since then and it is a pleasure to work with.
- When I was still doing web work under salary, we used an internal Zend-like framework which was forced upon all devs. The learning curve was high, it was very convoluted, and kept getting in my way of trying to develop my application. After I got used to the way it worked, it was more bearable, but I wouldn't go back there again. You'd have to modify dozens of files to make the simplest of changes.
- Very rarely do I write my own libraries or frameworks. There's almost always someone else out there who has already solved at least part of your problem.
- For simple CMS websites, I use wordpress. I started using wp back when textpattern was still a thing and haven't found any compelling CMS alternatives in php. It does seem to have gotten bloated in recent years. I tried Joomla once and decided I wouldn't go there again. It's very confusing, bloated, and the administration pages are unintuitive.
I'm open to suggestions for alternatives!