Pourquoi Rails est génial? d’un point de vue non technique (slides)


  • Share on Pinterest

Pourquoi Rails est génial? d'un point de vue non technique (slides)

Pourquoi Rails est génial? D’un point de vue non technique! 9 juillet 2010

Qui parle? • Camille Roux • 25 ans, Sophia Antipolis • +1 an de dev Ruby on Rails • +3 ans de dev web (WebObjects, Flex, PHP…) • https://camilleroux.com • camilleroux

Qu’est-ce qu’un bon framework web?

Coût

Productivité Agile Hébergement Innovant Déploiement Performance Moderne Licence Evolution Recrutement Actif Confort Rapide Coût Bibliothèques Utilisé IDE Bonnes pratiques Communauté Outils Référencement Plugins Open Source Architecture Sécurité

Ruby Quoi : langage de programmation interprété, orienté objet et multi-paradigme Licence : Libre – Licence Ruby et GPL OS : Multiplate-forme Apparu en : 1995 Créateur :Yukihiro Matsumoto (aka « Matz »)

Multiples implémentations • Ruby • JRuby • MacRuby • Rubinius • …

+14 000 gems sur Rubygems

+185 000 projets Ruby sur Github

10eme Position au classement TIOBE (juin 2009)

Ruby on Rails Quoi : framework d’application web reposant sur le langage Ruby Autres noms : RoR, Rails Licence : Libre – MIT Apparu en : 2004 Créateur : David Heinemeier Hansson (aka “DHH”) et quelques autres (Rails Core Team)

Philosophie

Convention over Configuration

DRY (D’ont Repeat Yourself)

Awesome When you thought it couldn’t get any awesomer.

Structure

Migrations

Active Record

Scaffold

Environnements

Sécurité

Javascript

Cache

Tests

RAILS 3 • Rails 3 = Rails 2 + Merb • Modularité • Bundler • Performance • HTML 5 • …

Ruby est lent non? • Comme Python et PHP • JRuby, Ruby 1.9/2.0… • La vitesse d’exécution, vraiment important ? • Vitesse de développement • Fiabilité • Maintenabilité

Un plugin/une gem pour tout…

Tâches de fond Upload de fichiers Hiérarchies Paiement en ligne Authentification NoSQL Indexation Un plugin/une gem BDD pour tout… Pagination Geolocalisation Cache Twitter Parsing Optimisation Facebook

IDE

IDE

RubyMine 2.0 • Debugger • Refactoring automatisé • Analyse du code à la volée + inférence du type • Code completion • Intégration de multiples VCS (Git, SVN…)

Qui utilise Ruby on Rails?

Scribd 39 700 000 Twitter 30 000 000 Hulu 24 900 000 WhitePages Justin.tv 21 800 000 19 300 000 Visiteurs uniques / mois

High Profile Organisations using Rails – WorkingWithRails.com

Des outils extraordinaires

Github

New Relic

Avantages • Installation en quelques minutes • Ruby, JRuby, Java • Prix

Hébergement

Les classiques

Mutualisé VPS Les classiques Dédié Cloud Serveurs persos

Engine Yard • Repose sur Amazon EC2 et S3 • Ajout/suppression de machines à chaud • Déploiement automatique à partir du code source (Git) • Clonage d’application • Monitoring et alerte • Backup

Heroku 1 Je fais mon application Rails en utilisant Git 2 2 lignes de commandes 00:01:00 3

Add-ons

Amazon RDS Websolr SSL Zerigo DNS Sendgrid Apigee for Twitter Panda Stream Bundles New Relic Cloudant Add-ons MongoHQ Cron Moonshado SMS Exceptional Custom domains Memcache Deploy hooks LogWorm

+70 000 applications déployées

Les « switchers »

Backupify was originally a photo backup side project, and Zend had a good Flickr library, so we started in Zend. Rob May, founder

Iterating quickly was!difficult.When Matt joined Backupify, he gave me a Ruby on Rails!crash- course[…]. Seriously, although I’ve read!the blogs, and seen the screencasts, I wasn’t truly impressed!impressed with Rails until I started working with it. Ruby is easy to!understand and Rails provides a clear level of organization/ convention!that’s easy to maintain. Ben Thomas,VP of Product Development

• Architecture système automatisée • Intégration continue • « Rubyists are amazingly prolific » • « Lot of innovation in the Ruby space »

YP.com en quelques chiffres • 23 millions visiteurs uniques/mois • 2 millions recherches/jours • +48 millions requêtes/jours • +1500 requêtes/s • 30 Mbit/s (200 Mbit/s d’Akamai)

AVANT

• Java/EJB3 • Problèmes de design de la plateforme • Design fortement basé sur les sessions pas « horizontally scalable » • 125 000 lignes de code • Aucun test • Difficulté à ajouter de nouvelles fonctionnalités • Manque de contrôle sur la structure des URL

APRES

• Performance et stabilité acceptable • Nombre de serveurs identique • – de 20 000 lignes de code (avec les tests!) • Pas de sessions (stateless)

• Migration faite en 2006-2007 • Conception => mise en production : 1 an • Développement : 3 mois • Terminé dans les temps • Jamais plus de 5 développeurs

Ca bouge!

Ruby usage has grown 40% among North American developers from 2008 to 2009 Evans Data

+ 400 % en 5 ans développeurs Ruby (2008 – 2013) Gartner Group, mars 2008

Levées de fond • $10M – Heroku – Mai 2010 • $19M – Engine Yard – Octobre 2009 • $6M – New Relic – Novembre 2008 • $15M – Engine Yard – Juillet 2008 • $3M – Heroku – Mai 2008

Alors pourquoi Rails ? • Un langage • Un framework • Une communauté • Des outils • …

Cadeau ?

30 jours RPM Gold Sophia2010 (sensible à la casse)

? www.camilleroux.com [email protected]

Crédits photos • http://www.flickr.com/photos/kandyjaxx/2012468692/ • http://www.flickr.com/photos/kh-67/3564168600/ • http://www.flickr.com/photos/ecstaticist/2589723846/