Introduction

As the Technical Manager of Sereale, I have in mind of updating our website with a brand new user interface. I want it to be simpler, faster, and more maintenable as we have today. Our BackEnd is in Ruby on Rails, and our current FrontEnd in classical HTML and JQuery. It is working pretty well in fact, I am not complaining, but as we have to make a better website (as we always do!), it is the right time to change the technology, and choose what we have best today.

Concerning the BackEnd, I will not change. Rails is really great. I admit, I did not try NodeJS, but why should I? Ruby seems to be a perfect programming langage to develop a website (at least better that Javascript?!) and Rails offers all the tools I need to make it clean and fast. Yes, I know, LinkedIn changed from Rails to NodeJS, saying it is twice faster. But wait a second here: they were not comparing the same things! First, NodeJS is a Javascript Runtime which can be used as a web server, whereas Ruby on Rails is a Framework which can be used with different web servers such as Mongrel, Thin, Puma, Passenger. So the right comparison would have been between NodeJS and one of those web servers. Second, as « Ikan Lan » (from LinkedIn development team) said: they were using Ruby on Rails with Mongrel, which is monothreaded. You cannot compare a monothreaded server with a multi one. It is not fair! What would have been the result with Puma or Passenger? Anyway, I am a big fan of Ruby on Rails and I have now enough experience to make a nice and efficient website, so I prefer not spending time learning NodeJS.

Concerning the FrontEnd now, which is actually the main subject of this article, I have been spending some time these last weeks looking around for the modern Javascript Technologies. As you may know, there are a lot of different ones: EmberJS, BackBoneJS, AngularJS, React (which is more a Javascript API than a Framework like the others), … So, well, which one should I use? I did not look at all of them (I am always impressed by those who can compare all these technologies… where do they find the time to learn all of them?!). But people were talking mainly about two of them: Angular2 and React. Ok, Angular2 is not released yet and no one knows when it will be (today being March, 22th there is 55 incidents left: https://splintercode.github.io/is-angular-2-ready/). And everyone is saying that Angular1 is not dead, but… hey… come on… would I really learn Angular1 now, whereas Angular2 is at my door? No, I cannot. I mean, everyone says Angular2 is going to be 8 times faster as the first of the name, and is supposed to improve everything. Too hard for me. So I took a look at the very promising Angular2 and the experienced React.

And Cory House is right: between Angular2 and React « There will be blood« . Because both are great tools to develop the FrontEnd.

I started with Angular2 and the « Tour of Heroes » tutorial  and decided to do the same with React to be able to compare them. I thought my results could interest some of you (it is a good way of starting a rails and Angular2/React new project), so I decided to copy/paste them below. I will not comment them too much as you can find every information you need on internet and specifically on Angular2 website. The interesting aspect of this article is that you do not have to install npm node modules as I wanted my project to be light and simple.

Environment description (but it will probably work with a lot of different environments):

  • Debian 8
  • Rails 4
  • Ruby 2

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s