Web Development Training: Django vs Node vs Rails vs Others

I know Java and Python (with some Django) and a bit of Ruby (without Rails) and no Node.js, and maybe there is something else that I donโ€™t know about.

I plan to start learning about web development and its full stack, but when I see around, I see many options, and it bothers me. I need suggestions based on the following options

  • ease of learning
  • ease of assembly and iteration
  • ease of deployment (for example, free and cheap hosting solutions)
  • popular

Please give some advice

thank

+75
java django ruby-on-rails
Aug 18 2018-11-18T00:
source share
6 answers

Ruby on Rails:

Easy to learn? - Yes - great documentation at guides.rubyonrails.org and a great tutorial at railstutorial.org .

Easy to build and repeat? - for sure - the rails are great for flexible and iterative development.

Easy to deploy . For deployment (at least for small applications and during training), it couldn't be easier than using heroku.com - push-based git and without it.

Popularity is very popular!

Django

Easy to learn? - Like Rails, Django has excellent documentation at docs.djangoproject.com/en/1.3/ . Perhaps a slightly steeper learning curve (purely an opinion here, but I believe that rails tend to be โ€œready to go,โ€ while django needs a bit of configuration before you start development).

Easy to assemble and repeat? - again, like Rails, after you finish working with it, iterating is pretty easy.

Easy to deploy? - not as easy as Rails. There are equivalents to the hero gondor.io , djangozoom.com , stable.io , but they are usually in a private beta. However, I had nothing to invite gondor.io .

Popularity is popular, but the user community is a little smaller .... livelier than the Rails crowd.

Node

Easy to learn? - um yes and no, itโ€™s easy to add a quick hello world server together, but more complex if you want a full-blown application. I would avoid this in the first place - it is new and fast-paced. In addition, Node itself is not comparable to Rails or Django, because the last two are frameworks, while Node is more likely a set of barebone apis that you can use to develop something. You can choose a framework like expressjs.com , which is more consistent with Rails and Django. I have not used it, so I can not give you my opinion.

Easy to create and iterate? - easy to build - yes, easy iterative - yes.

Easy to deploy? - you can go to no.de and apply it to get smartmachine - it is currently free and easy to deploy - git.

Popularity - it is gaining momentum.

+78
Aug 18 '11 at 8:25
source share

A few notes from the Django developer who spent a little time learning Node.js:

  • The asynchronous programming approach in Node.js is conceptually more complex. Although you can use a similar approach in Django or Rails, this is not common to this.

  • Node.js is really, really fast out of the box. But the reason is that it does not include a lot of OOB.

  • The Node world is very fragmented right now, with dozens of Node libraries, solutions, and frameworks all competing for attention. Express is apparently the most popular structure for Node right now, but we're kind of in a waiting game to see what is shaking. Django and Rails already have all the necessary bits to create advanced applications without having to glue everything together.

  • Express is the most popular structure for Node.js right now, but Express doesn't even include a way to connect to the database. You must add this. It also does not include ORM - you need to add this. I looked through ORMs, but they didn't seem nearly as complex as Django.

  • Django is a complete, cohesive, end-to-end solution in which all parts are easily combined ("Mac path"). Node.js is the baseline on top of which you choose your own structure, your own ORM, your own db driver, your own URL routing system, etc. etc. ("Unix path").

    / li>
  • There are advantages to the Unix method, but IMO systems like these are harder to get off the ground and have difficulty maintaining. Parts do not necessarily communicate with each other, as expected, and the entire project is not updated immediately. Integrated systems, such as the Mac software / hardware continuum and Django / Rails, are huge performance gains. For comparison, we note the relative obscurity of Python TurboGears (a bunch of disabled parts) compared to Django. Django ate TurboGears lunch because he is solid and consistent. If productivity is important to you, you will work more productively in a more mature framework. The Node.js framework that fulfills this vision will arrive someday, but it is not there yet.

  • Express does not provide a number of useful command line tools, data APIs, etc., that Django or Rails provides.

  • The Node.js framework, of course, doesn't include anything like a Django admin, which is a huge performance benefit for Django developers.

  • Purely my opinion, but Python just feels more elegant than Javascript. The code is more compact and readable. However, not a big hurdle, just a preference.

Overall, Django feels like a "platform with batteries on," and Node is more like selling a piano.

Node / Express are really young. Exciting ways and great prospects, but how long will it take for Node.js frameworks to feel competitive with mature frameworks? I dont know.

+41
Apr 01 2018-12-12T00:
source share

Regarding job opportunities, I would say that you work well if you go with Rails or Django. Only a few companies really pay for Node.js developers, because not yet enough.

In terms of runability, Rails is complete. Ruby on Rails supports most of the interesting and interesting launch features. I came across a couple using Django. But companies like Groupon and Living Social are mostly written in Rails. Ruby is almost twice as popular as Python on Github . And here is this Quora question:

In terms of the future, Node.js is the way to go. HTML templates begin to be written almost completely in JavaScript ( jQuery.tmpl ), so for this you only need to master 1 language, JavaScript, make your skill set much more powerful. And Node.js really lends itself to real-time web applications . In addition, cloud support platforms such as Heroku, which were originally 100% rubies, also began to support Node.js. There, others do this for all languages, for example dotcloud .

There is still a lot of work to be done to make Node.js fully included as Ruby on Rails (so that Rails is still the standard, but still there:

If you need a cutting edge, definitely Node.js. If you want to

Ruby on Rails.

+25
Aug 21 '11 at 7:20
source share

Popularity (clause 4)): Java Server Faces (JSF) technology . From JSF 1.2 to the current JSF 2.1, it now matches Java EE 5 and Java EE 6, respectively. This means that now it is the Java EE standard. In addition, an advantage would mean that web application servers (such as JBoss AS 5 and above, GlassFish, WebSphere AS, Oracle AS, etc.) that are fully compatible with Java EE (5 and above) can run JSF ( there is no need for configurations, so it solves point c)).

There are various tutorials for JSF, for example. in CoreServlets . BalusC wrote a simple and excellent tutorial on setting up and writing a simple JSF web application from scratch.

+5
Aug 18 2018-11-11T00:
source share

What about googles gwt? Or groovy grails?

+3
Aug 18 '11 at 12:29
source share

Now JSF 2.x is becoming so popular and more UI-oriented in combination with primefaces , if you need fast development of applications in the JSF ecosystem such as rails, you should consider

http://www.springfuse.com/

http://www.myeclipseide.com/documentation/quickstarts/ME4STutorialScaffoldingJSF/scaffoldingjsfarticle.html

Spring Roo with JSF Addon http://java.dzone.com/articles/jsf-20-spring-roo

1)ease to learn (http://www.vogella.com/articles/JavaServerFaces/article.html) 2)ease to build and iterate 3)ease to deploy (like free and cheap hosting solutions) a) http://www.mkyong.com/google-app-engine/google-app-engine-jsf-2-example/ b) http://blog.jelastic.com/2012/06/11/how-to-deploy-primefaces-applications-into-jelastic-cloud/ 4)popular (http://www.primefaces.org/whouses.html) 
+1
Aug 14 2018-12-12T00:
source share



All Articles