Mejor manera de comenzar a aprender Diseño de aplicaciones web


10

Soy un programador aficionado desde hace mucho tiempo interesado en entrar en el desarrollo de aplicaciones web. Tengo una buena cantidad de experiencia personal con varios idiomas que no son de la web, pero en realidad nunca me he ramificado a aplicaciones web.

Normalmente no tengo ningún problema para aprender nuevos lenguajes o tecnologías, así que no estoy preocupado acerca de cuál es el "mejor" lenguaje o web stack con el que trabajar. En cambio, me gustaría saber de cualquier recurso recomendado (libros, artículos, sitios web, incluso cursos universitarios) que discutan el diseño de aplicaciones web: administración y optimización de la interacción del servidor, preocupaciones de seguridad, escalabilidad y otros temas que caen bajo diseño más bien que la implementación.

¿Qué recomendaría a un Desarrollador de aplicaciones autónomo que desea expandirse en Desarrollo web?

10

Hay una amplia variedad de lenguajes de aplicación web que podría ingresar. Los que más experiencia tengo (y por lo tanto, aquí estaré hablando) son PHP, eRuby y Ruby on Rails. Todos estos tienen buenos tutoriales disponibles en Internet. Voy a vincular a algunos de ellos a continuación.

Cuál elegir depende de qué exactamente usted está mirando para hacer. Al usar PHP y eRuby tienes que hacer la mayoría de las cosas tú mismo, mientras que Ruby on Rails hará muchas cosas por ti (útil, pero también puede ser peligroso si no sabes lo que estás haciendo). Ruby on Rails es bueno para hacer cosas relacionadas con la base de datos, por ejemplo, la aplicación CRUD (Crear, Leer, Actualizar, Eliminar) estándar. El tipo estándar de aplicación Ruby on Rails (a menudo abreviado como RoR) le enseña a usted que es una aplicación de blog (crear entradas, leer entradas, actualizar entradas, eliminar entradas) o una aplicación de libreta de direcciones.Es posible hacer muchas de estas aplicaciones casi en una línea de código, utilizando la función 'andamio' de RoR.

PHP y eRuby te obligan a hacer más el trabajo tú mismo, pero esto puede ser mejor en algunas situaciones. PHP es más conocido y utilizado que eRuby, pero me gusta el lenguaje Ruby, así que me gusta usar eRuby. Estos son buenos para hacer aplicaciones simples (como formularios de contacto en sitios web) o aplicaciones más complejas (phpBB: una parte del software del foro está escrita en php).

En cuanto a cuál elegir, jugaría con ellos y vería lo que piensas. Intente recorrer los primeros trozos de un tutorial con cada uno y vea si le gusta o no.

Aquí vienen los enlaces a varios tutoriales:

PHP

eRuby

Ruby on Rails

Existen algunos tutoriales para comenzar. Algunos de estos lo guían a través de la instalación del software necesario (servidor web y cualquier otra cosa necesaria, por ejemplo, php o ruby) y otros no. Una buena forma de obtener Apache (servidor web), MySQL (db) y PHP instalado en Windows es usar XAMPP. Si está en Linux, apache, mysql y php estarán en sus repositorios de paquetes y puede haber guías de distribución específicas para configurarlos.


2

Muchos idiomas tienen contrapartes web. JSP para Java, Rails para Ruby, Django para Python, etc. Eso podría ser una ventaja.

Si quieres ir a la plataforma con posiblemente la mayor base de usuarios (y con eso, la mayor cantidad de tutoriales y ejemplos), ve por PHP.

Sin embargo, recomiendo consultar varios frameworks. Para cada lenguaje orientado a la web, seguramente habrá muchos recursos que le quitarán el problema de escribir todo el código de plomería de bajo nivel, para que pueda enfocarse en las cosas que importan. Personalmente, uso casi exclusivamente .NET, pero he oído hablar de una buena cantidad de marcos PHP, como la plataforma Zend y CakePHP (para el desarrollo de MVC).

Si tiene la intención de utilizar también javascript en sus aplicaciones para darle un agradable toque de web 2.0 a sus aplicaciones, use una biblioteca que oculte los detalles desordenados del navegador. Te volverás loco si tratas de hacer todos los guiones entre navegadores tú mismo. Algunos buenos son Prototype y jQuery.


1

Eloquent JavaScript y AppJet ofrecen excelentes tutoriales que le permiten seguir mientras aprende.

Una vez que cubra todos los aspectos básicos, Ajaxian debería responder muchas de las preguntas que tiene sobre diseño de aplicaciones, etc. No solo publican muchos artículos excelentes sobre estos temas, sino que debe explorar muchos de los sitios a los que enlazan, ya que estos sitios generalmente también brindan una gran cantidad de información.

Cuando se trata de interacciones del servidor, conozca sus opciones. Ajax no es todo lo que hay. Investigue tecnologías como Comet y JSON-RPC, y mire varias estructuras del lado del servidor que proporcionan acceso fácil a JavaScript, como DWR, Jayrock, o cualquier herramienta que exponga sus funciones a JavaScript utilizando el idioma que elija usar en el servidor.