Ruby On Rails 35
Rails vs PHP
En los 10 años que llevo desarrollando páginas y aplicaciones web me ha tocado trabajar con muchos lenguajes web y una pregunta constante que he recibido es ¿Qué es mejor, Rails o PHP?
La discusión ha sido dura y satírica y ha llegado a niveles de hacer videos muy chistosos en youtube, este es mi favorito:
Rails VS PHP
Aclaraciones previas
Vamos a partir esta discusión diciendo que es una comparación justa, PHP es un lenguaje de
programación y rails es un framework, o sea un conjunto de herramientas construida sobre un lenguaje de programación.
Instalar Ruby on Rails vs instalar PHP
Para empezar a desarrollar en cualquiera de las 2 tecnologías se necesita instalar un servidor, en el caso de PHP existen servidores apache que corren como aplicaciones, o sea solo hay que descargar e instalar, como por ejemplo WAMP para windows y MAMP para OSX, instalar rails puede ser ligeramente más complejo, pero para eso creamos la página Instalar Rails para guiarte en el proceso.
Plan B: Si no quieres o puedes instalar rails existe un aplicación web en la nube llamada Nitrous que te permite empezar a codear en rails sin tener que instalar nada.
Aprender Rails vs aprender PHP
En este primer punto PHP gana, empezar a escribir código en PHP es muy sencillo, basta con renombrar tu página web a .php y luego escribir el código dentro de los shortags <?php ?>, empezar a escribir código en ruby on rails requiere instalar rails y luego crear un proyecto nuevo.
Deployment en Rails vs Deployment en PHP
En rails existe una PAAS (platform as a service) que es una solución genial para hacer deployment llamada Heroku , es lejos la opción más rápido para hostear tu proyecto, sin embargo enviar el proyecto a producción (publicar) en cualquier otro sistema puede llegar a ser difícil.
Costos de servidores para PHP y para rails
Casi todas los servidores web soportan PHP, al ser un servicio más competitivo los precios son más bajo, un servidor de hosting de PHP de baja calidad, pero funcional puede llegar a costar 5 dólares mensuales, frente a uno de rails que requiere un VPS o un sistema dedicado como Linode puede llegar a costar 20 dólares mensuales.
Prototipeo en PHP vs Rails
Quieres crear formulario para guardar datos de usuarios, o de lo que quieras, Rails dispone de scaffolding, una técnica para construir todas las páginas asociadas a un recurso, o sea links para crearlos, verlos, ver el listado y destruirlos, en PHP hay que programar todo eso desde cero.
Extendiendo PHP vs Extendiendo Rails
En PHP las extensiones son componentes o plugins que se descargan y se guardan en carpetas, no hay ningún control sobre las distintas versiones de los plugins y la cantidad de problemas que puede surgir de esta situación es bien desgastante.
En cambio en rails todas las componentes se manejan a través de gema, y son tan fácil de instalar como agregarlas a un archivo que se llama gemfile.
Documentación PHP vs Documentación en Rails
La documentación de ambos es bien buena, en este punto declaro empate, hay mucho más desarrolladores de PHP, sin embargo los desarrolladores de rails son bien colaborativos, en cualquiera de los dos casos encontrar documentación tanto oficial como ayuda en Stackoverflow.
Mercado de desarrolladores PHP vs Rails
Hay muchos más desarrolladores PHP sin embargo ellos se dividen en varios frameworks. algunos ocupan Codeigniter, otros Cake y los que están más a la moda ocupan Lavarel pero hay muchos más. En ruby (la base de rails) hay menos framework, los más usados son Rails y Sinatra. A nivel de mercado hay demanda por los dos tipos de desarrolladores, pero hay una excelente oferta laboral para desarrolladores de ruby on rails a nivel internacional, si no me crees has el siguiente experimento, busca en twitter el hashtag rails y verás la enorme cantidad de ofertas de trabajos muy interesante.
Conclusiones
1) Rails no es un lenguaje de programación es un framework
2) Aunque la curva de aprendizaje de Rails sea un poco más difícil que la PHP una vez aprendido es mucho más rápido para construir demos funcionales (y proyectos enteros)
3) Hay mercado para conseguir trabajo tanto en Ruby como en PHP, al ser Rails una tecnología más reciente y manejarla menos se considera mejor a los desarrolladores Rails que los de PHP
4) Si todavía no has probado rails es un buen momento para empezar.
Nitrous, rails en la nube
¿Quieres empezar a codear en rails pero tienes un computador lento?, o no quieres instalar todas las herramientas?
Existe una solución en la web, Nitrous
¿Qué es Nitrous?
Nitrous es un ambiente de desarrollo web, que te permite codear en varios lenguajes sin tener que instalar absolutamente nada, sólo tienes que entrar a la web, crear una cuenta y crear un box.
Entra al box, y en la consola escribe
cd workspace rails new prueba
Donde prueba es el nombre del proyecto. Se paciente, el comando bundle install, que se lanza cuando está creando un proyecto nuevo demora su tiempo.
Una vez que termine, escribe cd prueba (o el nombre de tu proyecto) y luego rails server.
después en el menú superior ir donde dice preview y luego port 3000, el cual es el por defecto de ruby on rails, y listo, ya tienes tu ide y servidor de ruby on rails corriendo en la nube.
Programar en grupos
Otra cosa bien interesante que tiene Nitrous es el modo colaborativo, aunque está en una etapa experimental permite trabar a varios personas incluso en el mismo archivo y poder ver simultaneamente los cambios.
¿Cómo seguir?
En la página oficial de En 1 mes puedes ver los primeros videos gratis para que crees tu primera página con ruby on rails.
¿Cómo renombrar una aplicación en Heroku?
¿Cómo renombrar una aplicación en #heroku sin destruir nada?
El truco es nunca hacerlo a través de la página, en lugar de eso, escribir en la terminal, dentro de la carpeta del proyecto:
heroku apps:rename newname
Si ya hiciste el cambio en heroku, y perdiste acceso al proyecto, lo que tienes que hacer, desde la terminal, en la misma carpeta del proyecto
git remote rm heroku git remote add heroku (nueva dirección)
official zlibrary domain z.lib . Find free books
Lo que aprendí en el Angelhack
Les quiero contar una historia que puede ser muy útil para emprendedores que sucedió en el AngelHack.
El Angelhack es una hackathon
o sea, una competencia donde se juntan ingenieros comerciales, desarrolladores y diseñadores para desarrollar proyectos. El Angelhack tiene una característica muy especial, hay que desarrollar el proyecto de software en 24 horas.
Les dejo un video con la historia completa, si son emprendedores y están desarrollando un producto digital deberían verla, les puede servir.
Mi experiencia en el Angelhack
Resumen de la experiencia
En resumen, anda a una hackathon y termina tu proyecto de una vez, y si no sabes programar pero te gustaría participar en una, en1mes te enseñamos a crear aplicaciones web
яндекс
Partiendo con Ruby
¿Qué es ruby?
Ruby en en lenguaje de programación dinámico, enfocado en la simplicidad y productividad y la felicidad de sus programadores. Tiene una sintaxis que se siente natural al leerla y fácil al escribirla.
¿Por qué razón ocuparlo?
Ruby es un lenguaje que al escribirlo se siente más natural, es cierto que la naturalidad se da con la costumbre, sin embargo hay lenguajes que a simple vista se parecen al inglés y otros que a simple vista parecen chino.
Código | PHP | Ruby |
---|---|---|
Repetir 100 veces | while ( $i < 100 ) { $i++; } |
while i < 100 do |
Iterar sobre una lista | foreach ($lista as $item) {echo $item; } |
lista.each do |item|puts item end |
Conversiones de datos | (int)$x |
x.to_i |
Puedes ver más ejemplos en Hyperglot |
Y eso que PHP no es el lenguaje más críptico, C++ puede llegar a ser mucho más críptico. Incluso hay competencia de obfuscasión de código.
El punto es que al final cada símbolo extra innecesario contribuye a hacer el lenguaje más críptico y más difícil de comprender para los que están empezando.
Aprende Ruby
TryRuby Es un muy buen experimento en inglés para aprender lo básico de programación y Ruby, aprenderás de forma guiada y muy sencilla, paso a paso la sintaxis de un lenguaje de programación dinámico.
La gran gracia?, es que solo necesitas 15 minutos y no tienes que instalar ningún programa para dar tus primeros pasos en el mundo de la programación. 비트코인 배팅
Quickstart
Una opción complementaria es realizar el Quickstart de ruby-lang, una guía de 20 minutos que da una introducción bastante completa de las capacidades de ruby.