Empezar con desarrollo web

Rurik

Hola,

Hace tiempo que quiero empezar en el desarrollo web pero ando un poco perdido, tengo conocimientos de programación pero siempre me he dedicado al desarrollo de aplicaciones de escritorio.

Mis dudas van mas orientadas al modo de trabajo que a los lenguajes en sí.

Para ir adaptándome la idea era empezar desarrollando paginas web estáticas (portafolios o web informativas) y mas adelante meterme a las webs dinámicas y aplicaciones web.

Alguien puede ayudarme en cuestión de metodología de trabajo, herramientas mas comunes. Me desoriento un poco en el tema de maquetación de interfaces web, etc.

¿Algún experimentado podría situarme un poco?Si no se entiende lo que pido lo explico mas detalladamente

C

Yo abrí hace unos meses un hilo exactamente igual.

No lo digo por chapar este hilo. Todo lo contrario, me dieron buenos consejos y me apunto a los nuevos que te den, ya que estoy en una situación similar.

El PHP lo dominarás en cero coma. El javascript también. Pero lo del html y el css... para los que venimos de aplicaciones escritorio es un via crucis. La interconexión entre las diferentes capas al final se acaba entendiendo. Eso sí, yo he pasado totalmente de trabajar contra el servidor a la antigua usanza. He preferido aprender ajax y trabajar directamente en la misma página que recargar toda la página guardando las variables.

Mi consejo: Que te lances sin miedo y sin limitaciones absurdas. Es un consejo vacío, lo sé... Pero yo hasta que no me he puesto en serio con un proyecto web que tenía en mente no he avanzado nada. Ahora es cuando empiezo a ver la luz.

Salu2.

Nucklear

A mi también me interesa el tema ando totalmente desorientado en el tema de maquetacion y inicio de un proyecto.

catalon

Sobre entornos de desarrollo te aconsejo eclipse o netbeans.

En cuanto a como empezar pues empieza por dominar bien HTML+CSS cuando lo tengas dominado trastea con javascript y los distintos frameworks/librerias que puedas encontrar como jQuery o scriptaculous.

Una vez dominado el lado del cliente escoje algo para el lado del servidor, ASP.NET o PHP y yo creo que con eso no encontraras limites.

Recuerda tener en cuenta cosas que en la programacion de escritorio no existen como podria ser SEO. No te dejes llevar por ajax, usalo solo cuando sea necesario, debes encontrar la balanza entre seo y ajax o directamente dejar ajax solo para aplicaciones e intranets que no necesitan posicionamiento.

Estan muy de moda los motores de templates como smarty (grandioso por cierto). Investiga mucho sobre eso tmb porque es el presente y el futuro para la programación web rapida.

Luego ya si vas a realizar grandes proyectos seguramente necesitaras algun framework potente, symfony 2 se esta cociendo y no le debe de quedar mucho, y por lo que e visto tiene una pintaza increible.

En general vas a tener que leer y leer como un descosido, las aplicaciones web actuales necesitan mezclar muchas tecnicas/tecnologias/lenguajes para ser potentes, ademas de que salen nuevas cosas continuamente, aunque bueno, supongo que esto es comun en la programacion en general.

Zeroner

Django. Una vez que aprendes como funciona es una pasada.

Nucklear

Yo he estado mirando Rails3 y es una gozada ese Framework MVC, la abstraccion de la DB y la comodidad para generar tablas a partir de los objetos que crees es muy comoda.

Pero yo me pierdo en el momento de iniciar un proyecto grande.

¿Por donde empiezo? Si diseñas el interfaz puedes estar limitando en un futuro el desarrollo...
Si empiezas por la capa de persistencia lo mismo...

Ahi me pierdo xD

Por otra parte por ejemplo yo uso eclipse (RadRails) dedicado a RoR pero para el frontend uso JS+html5+css3 y el IDE es bastante incomodo para estos lenguajes. ¿Conoceis algún plugin para esto? ¿Como diseñais el frontend y luego lo integrais con el backend?

1 respuesta
eisenfaust

Lo mejor es que empieces con algun framework como RoR o Django. Muy bien documentados y con buena curva de aprendizaje. De entre los dos me quedaria con RoR... Django esta bastante bien, pero desconozco si han corregido las brechas de seguridad. Ademas creo que de momento tampoco es compatible con Python3?

Luego tienes CodeIgniter que para principiantes es de lo mejorcito, pero yo me alejaria todo lo que pudiese de PHP.

A mi personalmente me gusta mucho Catalyst. Aunque hoy por hoy prefiero no depender de Frameworks (solo uso Mason como herramienta de templates) y ademas sudo bastante de MVC.

Y dos consejillos:

  • No uses IDEs.
  • Usa AJAX unicamente cuando sea necesario.
1 respuesta
C

No es por nada, pero si a un programador de aplicaciones escritorio de Windows de toda la vida le pretendéis meter en un framework de un lenguaje en concreto va a estar más perdido que un gusano en una manzana de plástico.

En serio, #1, sigue estos pasos:

1.- Entender el html y las css (esto es fácil a un nivel básico. Pilotar de css en plan diseñador ya es otra cosa. Pero comprender esta capa visual por encima es muy fácil).
2.- Conocer cómo Javascript puede añadir/modificar elementos del DOM.
3.- Comprender lo que es un lenguaje servidor como PHP y cómo modificar una página web una vez que recibe una petición. A su vez entender el paso de parámetros entre diferentes páginas
4.- Una vez comprendido esto, echar un vistazo a AJAX.
5.- Mirar por encima cómo funciona una "API" como JQuery para simplificar todo lo anterior.

Y ya por último, cuando tengas todo esto medio dominado y hayas hecho algún tipo de web decente, entonces estudia a fondo lo que es un Framework tipo CakePHP,CodeIgniter y demás.
De todas formas, cuando estudies un Framework de estos verás que son las 3 capas de toda la vida (interfaz de usuario, lógica de negocio, datalayer) aka patrón MVC xD. Eso sí, los frameworks "obligan" a trabajar con una estructura lógica de directorios y ficheros para que sigas el MVC a su estilo y no al que tú te puedas montar.
Normalmente programadores que llevamos años montándonos nuestras propias capas, somos reticentes a adoptar uno de estos frameworks porque los ORM que aportan nos parecen una gilipollez comparados con las superclases llenas de procedimientos almacenados que solemos montar con megaselect/insert/etc. xD. Y no nos fiamos nada de la rigidez de estos framework. Yo todavía no he descubierto sus bondades pero supongo que es cuestión de tiempo. Cada vez que me he puesto a leerme un manual de pronto me he sentido perdidísimo y parece que he vuelto al maravilloso mundo del MSDOS de los '80. Pero supongo que si se utilizan es porque son útiles con el tiempo dentro de un proyecto grande.

Suerte!

P.D.: Desde que me estoy reciclando a web, uso NetBeans. Lo usan los weberos de mi empresa y por lo pronto me está resultando muy cómodo y fácil de manejar.

Nucklear

#7 Simple curiosidad, ¿por que no usar un IDE?

babri

llamadme rebelde pero yo uso Dreamweaver y NetBeans xD

B

#6

Lo primero que hay que hacer en un proyecto grande es diseñar la base de datos.

Lógicamente si es un proyecto grande tendrá una parte de administración para añadir contenido, gestión de usuarios y demás, esta creo que debería ser la primera parte y luego la parte frontal que es el diseño.

Otra cosa es que uses un joomla, drupal,... entonces solo tienes de hacer las modificaciones necesarias para dejarlo a tu gusto y añadir el contenido.

Zuki

Lo primerisimo es pensar el porque necesitas una web y a partir de ahi lo demas sale solo.

En cuanto a programar pues lo mas basico es HTML + CSS, luego Javascript es muy util para hacer contenido dinamico. Si queremos algo mas profundo con BBDD pues PHP como lenguaje.

Yo ahora estoy haciendo una tienda on-line con Drupal+Ubercart y la verdad es que es muy sencillo y rapido. Segun lo que tengas que hacer un CMS te puede hacer un buen papel, eso si, si decides trabajar con CMS a la hora de hacer un diseño propio preparate por que no es sencillo.

Usuarios habituales

  • Zuki
  • babri
  • Nucklear
  • eisenfaust
  • Zeroner
  • catalon
  • Rurik