¿Consejos para empezar a aprender maquetacion y programación web?

Hola gente.
Esta es mi principal cuestión, en cuanto al tema de creacion de paginas web.
¿Cual sería la evolución logica de aprendizaje desde 0? HTML- JAVASCRIPT - PHP .... ¿Cual creeis que son las que no valen la pena ni oler y cuales son las obligatorias? ¿A que se suele dedicar cada lenguaje?

La idea como diseñador gráfico es complementarlo para poder hacer los tipos de webs más solicitadas en el mercado profesional, sin depender de nadie.
Saludos
Pues más o menos es la evolución que has deducido por ti mismo:
- HTML + CSS
- JavaScript/jQuery (no es indispensable meterle muchas horas a este tema, pero si es importante saber como trabajar con ellas).
- PHP o ASP

El primer paso (HTML + CSS) es fundamental y el tercero (PHP o ASP) también. Ya luego puedes ir incluyendo más tecnologías, pero con estas vas que chuta. Por ponerte ejemplos: un framework PHP (CodeIgniter, Zend, Symfony), Ajax, Node.js, Python y Django, y un largo e inacabable etcétera.

Un saludo.
html>xhtml +CSS, PHP . Me parece también interesante ver XML y DTD Schemas, xslt...pero eso ya es cosa tuya, no es indispensable.

Para empezar a aprender html http://www.htmlya.com.ar/
Luego cuando andes más avanzado esta es la polla me encanta http://www.w3schools.com/ esta en inglés pero se entiende muy bien, es inglés nivel básico.
Fantastico gracias a los dos.

Grim, este enlace http://www.htmlya.com.ar es genial. Me encantan los tutoriales interactivos, es básico pero va de coña, para hacerte rapido con ello.
Por otro lado me han pasado algo muy util aunque en ingles pero bien practico para javascript: http://www.codecademy.com/ Yo no tengo ni papa de ingles, pero me defiendo con algo tan bien explicado.

La de http://www.w3schools.com/, es supercompleta y increiblemente bien clasificada y ordenada, no?. Ésta si que es una lastima que sea en ingles, je je je.
Estoy mirando en desarrolloweb.com y más caotica con la publicidad no puede ser... :o

Lo del HTML + CSS para empezar lo tengo claro (supongo que el XHTML es una extra del HTML). Luego le echo un vistazo al javascript, y luego PHP. ¿Que hay de HTML 5? Se supone que en cada versión sencillmente hay más codigo nuevo o es que cambia la programacion? [+risas] Perdon por la ignorancia.

Tengo que mirar las diferencias entre los diferentes tipos de lenguajes. No me queda muy claro, cuando se decide utilizar un lenguaje u otro.

Flanders, de los ejemplos más avanzados que me has puesto solo "conocia" Ajax, ja ja ja
Pues para maquetar lo más básico es HTML+CSS.
Luego Javascript ayuda bastante a darle algo de interactividad.

Y de lenguajes del lado de servidor, pues hay montones PHP, JSP, ASP, Ruby on the rails, Pearl, etc…
Lo importante es que sin importar cual elijas también deberías aprender un lenguaje para administrar bases de datos SQL, que también hay montones (aunque en este caso, afortunadamente son muy parecidos unos de otros) como MySQL, PostgreSQL, SQL Server, Oracle etc.


Stibi666 escribió:Fantastico gracias a los dos.

Grim, este enlace http://www.htmlya.com.ar es genial. Me encantan los tutoriales interactivos, es básico pero va de coña, para hacerte rapido con ello.
Por otro lado me han pasado algo muy util aunque en ingles pero bien practico para javascript: http://www.codecademy.com/ Yo no tengo ni papa de ingles, pero me defiendo con algo tan bien explicado.

La de http://www.w3schools.com/, es supercompleta y increiblemente bien clasificada y ordenada, no?. Ésta si que es una lastima que sea en ingles, je je je.
Estoy mirando en desarrolloweb.com y más caotica con la publicidad no puede ser... :o

Lo del HTML + CSS para empezar lo tengo claro (supongo que el XHTML es una extra del HTML). Luego le echo un vistazo al javascript, y luego PHP. ¿Que hay de HTML 5? Se supone que en cada versión sencillmente hay más codigo nuevo o es que cambia la programacion? [+risas] Perdon por la ignorancia.

Tengo que mirar las diferencias entre los diferentes tipos de lenguajes. No me queda muy claro, cuando se decide utilizar un lenguaje u otro.

Flanders, de los ejemplos más avanzados que me has puesto solo "conocia" Ajax, ja ja ja


w3schools es de lo mejor que hay para aprender HTML y CSS, además tienen muy bien documentada la compatibilidad de navegadores.
XHTML es una extensión de HTML en el sentido, de que se puede complementar con otro tipo de lenguajes, fuera de eso, es casi idéntico a HTML, sólo que más estricto y siempre es recomendable aprender a estructurar en el modo "estricto". En realidad no es que sea muy estricto, lo que pasa es que con el viejo HTML muchos maquetadores eran algo apáticos y maquetaban documentos realmente sucios, dejando etiquetas sin cerrar, o "solapandolas" en lugar de ordenarlas, o definian los atributos de forma incorrecta, muchas veces asignaban medidas sin siquiera especificar si eran pixeles, porcentajes o qué. Y eso cada navegador podría interpretarlo como le diera la gana. Digamos que la w3c simplemente dijo "Ok, ya no vamos a permitir hacer las cosas tan sucias y malhechas, mejor a exigir la limpieza y uso correcto de las etiquetas para asegurar que todos los navegadores sepan interpretar los documentos de la misma manera"…

HTML5 tiene una serie de novedades en cuanto a etiquetas y atributos, algunos con la intención de hacer el lenguaje mas potente, pero en realidad se han centrado en hacer el lenguaje más semántico. También hay etiquetas que se han desechado por considerarse obsoletas. Por otro lado también está CSS3 que tiene muchas novedades interesantes, como poder hacer animaciones.
Poco más que añadir a lo que ya te han comentado los otros usuarios.

XHTML es un HTML más estricto, si miras en la Wikipedia te va a quedar claro:
http://es.wikipedia.org/wiki/XHTML
Mira el apartado de Diferencias entre HTML y XHTML.

De HTML5 te puedo comentar que es un tema complicado al día de hoy. Mientras muchos apoyan el ir utilizándolo ya, hay otros que no lo ven tan claro. Yo sólo te puedo comentar al respecto que según la W3C, HTML5 nunca estará terminado porque seguirán añadiéndole mejoras, pero habría una "versión estable" a la que podríamos llamar "versión que todo el mundo debería de empezar a usar" en el 2014.
Sin embargo el otro día escuché a un miembro de Microsoft que HTML5 no estaría completado probablemente hasta el año 2018.

Así pues el tema HTML5 da para mucho que hablar y discutir, aunque lógicamente hay que empezar a estudiarlo, mirarlo y ver que se puede poner en práctica a día de hoy y que no (mirate HTML5Please y CSS3Test para hacerte una idea sobre esto).

Te dejo algunas webs útiles para el tema HTML5/CSS3, ¡ojo que no son manuales, sino utilidades!:
- HTML5Please: http://html5please.com/ Usa HTML5 con responsabilidad.
- CSS3Test http://css3test.com/ Comprobar las características de CSS3 que soporta un navegador.
- Modernizr: http://www.modernizr.com/ Hacer que navegadores antiguos soporten HTML5.
- Selectivizr http://selectivizr.com/ Hacer que versiones antiguas de Internet Explorer, soporten CSS3.
- CSS3Pie http://css3pie.com/ Misma función que Selectivizr.
- CSS3Please: http://css3please.com/ Prefijos CSS a utilizar en los distintos navegadores para que funcionen las características de CSS3.

En cuanto a las tecnologías avanzadas que te comenté anteriormente, no las vas a utilizar probablemente por ahora. Así que tampoco hace falta que les dediques tiempo, simplemente saber que existen y que en algún momento te pueden ayudar. Hay muchas más, pero vamos que no te las he añadido a mi comentario para no asustarte :p

Un saludo y suerte.
earthattack está baneado por "Troll"
No, primero aprende lo que es un navegador Web, cómo interpreta el código y lo que es un servidor web. Esto incluye conocimientos básicos de redes y sus capas.

Luego empieza por ver XML; estructura, atributos y propiedades. Luego JSON; estructura.

Luego HTML, estructura y atributos tanto de HTML5 como de HTML4. Luego revisa a fondo CSS y no te confíes de que es fácil.

Despues unas clases básicas de Javascript, esto te llevará más tiempo que ninguna otra cosa. Luego revisa un poco Jquery, que te facilitará la vida.

Luego, cuando estés desfallecido, aún te queda PHP, para lo básico no resultará problema. Revisa sus directivas básicas y luego las extensiones avanzadas. Conjúntalo con MYSQL para aprender a manejar bases de datos; tipos de columna, sentencias básicas para insertar, actualizar y borrar. Si quieres puedes usar algún framework PHP como te han dicho otros eolianos, eso ya es decisión tuya.

Luego, aprende a conectarte a un servidor mediante SSH y aprende las sentencias de ajuste y reparación directamente sobre consola. Luego, modifica un poco la configuración del servidor MYSQL y aprende, por ejemplo, a mover de sitio la db.

Más tarde vuélvete loco aprendiendo a manejar la configuración básica y general de Apache. Aprende a instalarlo, desinstalarlo, y lo más difícil, configurarlo. Tanto en el core como fuera de él mediante htaccess. Revisa la estructura de configuración y aprende a instalar y/o habilitar extensiones, y también a usar las propiedades y métodos (directivas) de cada extensión. Algunas serán más fáciles que otras; como SSL o pagespeed, y otras te volverán loco, como el mod_security (del cual estoy escribiendo un manual). Esto te llevará casi medio año, ya que Apache no es moco de pavo.

Conjunta todo esto con el estudio detallado de los paquetes a nivel de red, las tramas a nivel de enlace; las unidades de datos de la capa de transporte; y desde luego, las peticiones GET, POST, DELETE, OPTIONS, etc. Su estructura y mecanismo.

Y a partir de aquí tienes dos direcciones; aprender otros lenguajes de alto nivel como Python, o ir hacia abajo, a por lenguajes de medio nivel, de los cuales te recomendaría C++. O incluso si te apasiona y tienes paciencia antes de desfallecer, puedes aprender sobre ensamblador e incluso saber cómo se estructura un kernel y cómo interconectar dispositivos físicos con las capas altas. Ahí ya es tu decisión.
earthattack escribió:No, primero aprende lo que es un navegador Web, cómo interpreta el código y lo que es un servidor web. Esto incluye conocimientos básicos de redes y sus capas.

Luego empieza por ver XML; estructura, atributos y propiedades. Luego JSON; estructura.

Luego HTML, estructura y atributos tanto de HTML5 como de HTML4. Luego revisa a fondo CSS y no te confíes de que es fácil.

Despues unas clases básicas de Javascript, esto te llevará más tiempo que ninguna otra cosa. Luego revisa un poco Jquery, que te facilitará la vida.

Luego, cuando estés desfallecido, aún te queda PHP, para lo básico no resultará problema. Revisa sus directivas básicas y luego las extensiones avanzadas. Conjúntalo con MYSQL para aprender a manejar bases de datos; tipos de columna, sentencias básicas para insertar, actualizar y borrar. Si quieres puedes usar algún framework PHP como te han dicho otros eolianos, eso ya es decisión tuya.

Luego, aprende a conectarte a un servidor mediante SSH y aprende las sentencias de ajuste y reparación directamente sobre consola. Luego, modifica un poco la configuración del servidor MYSQL y aprende, por ejemplo, a mover de sitio la db.

Más tarde vuélvete loco aprendiendo a manejar la configuración básica y general de Apache. Aprende a instalarlo, desinstalarlo, y lo más difícil, configurarlo. Tanto en el core como fuera de él mediante htaccess. Revisa la estructura de configuración y aprende a instalar y/o habilitar extensiones, y también a usar las propiedades y métodos (directivas) de cada extensión. Algunas serán más fáciles que otras; como SSL o pagespeed, y otras te volverán loco, como el mod_security (del cual estoy escribiendo un manual). Esto te llevará casi medio año, ya que Apache no es moco de pavo.

Conjunta todo esto con el estudio detallado de los paquetes a nivel de red, las tramas a nivel de enlace; las unidades de datos de la capa de transporte; y desde luego, las peticiones GET, POST, DELETE, OPTIONS, etc. Su estructura y mecanismo.

Y a partir de aquí tienes dos direcciones; aprender otros lenguajes de alto nivel como Python, o ir hacia abajo, a por lenguajes de medio nivel, de los cuales te recomendaría C++. O incluso si te apasiona y tienes paciencia antes de desfallecer, puedes aprender sobre ensamblador e incluso saber cómo se estructura un kernel y cómo interconectar dispositivos físicos con las capas altas. Ahí ya es tu decisión.

Me da que muchas cosas de las que dices no tiene que hacerlas, ¿C++, ensamblador para desarrollo/programación web? :-?

Aprender Apache no es obligatorio, para un diseñador/programador web. Vamos yo Apache sólo lo he tocado un par de veces, y mira que llevo años desarrollando páginas webs. Y la mayoría de las veces que se utiliza Apache es para redireccionar o crear url's amigables, y siempre se encuentra el código que hay que insertar en alguna web. Vamos que yo de Apache ni idea, ni me he molestado en mirarlo y como te digo no por ello he tenido problemas para crear una web.

Y para finalizar, ¿empezar por JSON, antes que con HTML? :-?

En fin, me da que tenemos distintos maneras de entender lo que es maquetar/programar webs, porque sino no me explico algunas cosas de las que dices.
earthattack está baneado por "Troll"
Aprender Apache es fundamental para un buen diseñador web. Alguien completo y formado debe saber configurarlo ya que las directivas y configuraciones afectan directamente a los sitios Web.

Y la explicación de por qué aprender antes XML y JSON es obvia; HTML se basa en la sintaxis de metatags descrita por el W3C en el estándar de XML y SGML. Y JSON es obviamente una manera sencilla y rápida de intercambiar información. Me parece que es fundamental que un novato sepa de dónde procede una estructura <etiqueta parametro=valor>contenido</etiqueta> o <etiqueta />.

Un diseñador sin estos conocimientos (que los hay muchos) es simple y llanamente triste. No existen programadores de ensamblador que no sepan que es una CPU, un IRQ o un número hexadecimal; pero en el mundo Web hay mucho noob creyéndose el amo del mundo por saber hacer un hola mundo en JS y sin saber ni siquiera qué es una petición GET.

¿Cómo leches vas a hacer un header("Location: http://ejemplo.com") si ni siquiera sabes lo que es un header porque nunca lo leíste?
En el momento que me hablas de ensamblador, te dejo de dar la razón en todo lo que dices. ¿Para que leñes necesitas un diseñador web saber ensamblador? Vamos es la primera vez que lo escucho y mira que llevo años en esto.

Y saber Apache no es fundamental para un diseñador web, otra cosa es que tu profesión sea administrador de sistemas entonces sí que lo veo obligatorio. En la mayoría de los hostings ya te configuran Apache los propios administradores de la empresa, de hecho en los hostings compartidos no te permiten tocar Apache, ni PHP, y te tienes que crear un archivo .htaccess en la carpeta raíz para modificar lo que necesites.
Incluso los CMS's más conocidos ya traen el archivo .htaccess configurado para que no tengas que tocar nada.

Tan sólo he tenido que tocar Apache una sóla vez, y ha sido utilizando CodeIgniter para obtener una url más amigable, vamos que lo podría haber dejado tal como venía, pero por dejarlo un poco mejor. Y ¿sabes qué?, el propio manual de CodeIgniter te daba la configuración ya hecha, por lo que no hacía falta saber Apache.

En fin, desde luego según tu teoría aquel programador/diseñador web que no sepa: Ensamblador, C++, JSON, JavaScript, Apache, HTML, XML, CSS, Python, PHP, MySQL, Frameworks de PHP, Administrar y Configurar Servidores y seguro que más tecnologías que no has indicado, no tiene ni idea.
Pues nada, no me extraña que haya tanto paro, seguro que tu con ese curriculum debes de estar trabajando mínimo en Google.
earthattack está baneado por "Troll"
Flanders escribió:En el momento que me hablas de ensamblador, te dejo de dar la razón en todo lo que dices. ¿Para que leñes necesitas un diseñador web saber ensamblador? Vamos es la primera vez que lo escucho y mira que llevo años en esto.

Y saber Apache no es fundamental para un diseñador web, otra cosa es que tu profesión sea administrador de sistemas entonces sí que lo veo obligatorio. En la mayoría de los hostings ya te configuran los propios administradores de la empresa Apache, e incluso los CMS's más conocidos ya traen el archivo .htaccess configurado para que no tengas que tocar nada.

En fin, desde luego según tu teoría aquel programador/diseñador web que no sepa: Ensamblador, C++, JSON, JavaScript, Apache, HTML, XML, CSS, Python, PHP, MySQL, Frameworks de PHP, administrar y configurar servidores y seguro que más tecnologías que no has indicado, no tiene ni idea. Pues nada, no me extraña que haya tanto paro, seguro que tu con ese curriculum debes de estar trabajando mínimo en Google.


No necesita ensamblador para hacer bien su trabajo, lo puse como continuación de la formación en diseño Web, no me tomes por idiota. Pero no se puede pretender ser un diseñador Web negado en todas las demás áreas. Un poquito de cultura, no es necesario tampoco ser ingeniero, pero tampoco ir haciendo el más absoluto ridículo. Y quieras o no, el grado de cultura general repercute directamente sobre la productividad. Los hispanohablantes tenemos la costumbre del mínimo esfuerzo, hacer productos mierdas y querer estar al nivel de Alemania o Japón. Ahora vengo yo, sugiero cosas, y me estáis echando la bronca porque le digo al chico que puede aprender más cosas de las imprescindibles.

Y luego nos quejamos del paro. Si es que no damos para más
OJOOOO!!! ja ja ja.
Gracias a todos por vuestras respuestas. De verdad, me estan siendo muy utiles, y tomo nota de todo.
Me toca a mi la parrafada, que veo que tenemos ganas de leer, ja ja ja.

El debate que teneis es debido a un problema que creo suele suceder en todos los trabajos hoy en día.
Habría que saber diferenciar, entre:
webmaster, programador, desarrollador web, maquetador web y diseñador gráfico. Y sinceramente el unico que tengo claro es el ultimo, que es mi trabajo.

Si tu buscas una oferta de diseñador grafico hoy..... te piden: HTML, CSS, JaVASCRIPT, PHP y MYSQL, por poner un ejemplo. Y señores, eso no es diseño grafico (los de la vieja escuela me darán la razon), ni siquiera es diseño web, para mí es programación. Ni más ni menos. Otra cosa, es que igual que antes DISEÑADOR GRÁFICO incluia desde hacer la imagen corporativa de una empresa hasta maquetar en periodicos y revistas pasando por rotulación, hoy en día esta profesion esté ligada tambien a la programación web.

Por eso yo siempre he pensado que para hacer una buena web, lo mejor es juntarse un programador puro y duro y un diseñador grafico. Cada uno hace su trabajo pero teniendo minimos conocimientos del otro para saber lo que se puede o no hacer. Personalmente creo que es así como debería ser, pero está claro que hoy esto es imposible. Un diseñador manejando algo de dreamweaver, no es programador.... y un programador manejando algo de photoshop... no es diseñador. Ni un programador jamás sabrá lo que un diseñador, ni un diseñador jamás sabrá lo que un programador, a no ser que te hayas dedicado plenamente a ambas cosas.

Por cierto, earthattack, estoy de acuerdo con de la culturilla y tomo nota de tus consejos. Es como decir que eres pintor pero no sabes quien es Monet. Puede que no te sirva para nada, pero está muy bien saber quien es, y está muy bien visto como profesional.
Pero es que culturilla de la programación cuando soy diseñador gráfico..., digamos que no lo veo justo, ja ja ja. [+risas] Me explico.
No estoy de acuerdo en lo de que "no damos para más y que por eso estamos en paro". Haciendo alusion a lo comentado antes creo que casi todo el mundo está de acuerdo con que hoy se exige demasiado para ahorrar costes de personal. Lo que antes podian hacer 2 de manera PERFECTA cada uno en su campo, hoy se prefiere 1 que sepa un poco de todo pero más mediocre.

Una cosa es que sea genial que un diseñador sepa cosas de la herramienta que utiliza (software y hardware), pero ¿un diseñador grafico programando? Es la misma relacion que artes y matematicas. Que hoy se hayan tenido que juntar para hacer webs es otro tema y por eso me pongo a ello. De hecho es un mundo que nunca me ha apetecido meterme (en mi escuela ni siquiera se utilizaban ordenadores hace más de 12 años), pero parece que en la profesion hoy en día me lo exigen, y aunque no lo vea justo no me queda más remedio. Insisto, como en el resto de trabajos.

Saludos y gracias a todos. De momento ando leyendo diferencias entre los distintos lenguajes y para lo que se suele utilizar cada uno.

PD. Venga que me pongo a estudiar!!!!!!!! [rtfm]
Yo no aporto mucho más al Hilo, porque no le veo sentido. Cada cual que aprenda lo que quiera, que es libre de hacerlo ;) .

Stibi666, en las empresas serias: un programador programa, y un diseñador diseña. Puesto que normalmente un programador no tiene porque tener conceptos de diseño, ni un diseñador debería de saber programación.
¿Sería un programador capaz de crear una web así? http://eu.blizzard.com/es-es/games/d3/
Yo por lo menos no sería capaz de crear un diseño así ni de coña, y dudo que haya muchas personas que lo hagan.

El problema es el que tu dices, que en el desarrollo de webs hay muchas empresas que quieren un "todo en uno", cosa que no ocurre por ejemplo en el desarrollo de videojuegos, ¿por qué será? :-|
Desde luego en mi opinión, pagan menos, pero en cuanto a calidad no van a tener lo mejor de lo mejor.

En tu caso que quieres aprender a maquetar y programar, pues me parece genial y te animo a ello, porque las empresas te van a obligar a ello. El problema que vas a tener es el que todos tenemos, que a la hora de la verdad te sabrás defender en multitud de cosas que te pidan, pero como no serás experto en nada te tocará buscar por Google.
No le veo nada de malo a esto, puesto que la mayoría de la gente busca algún código o algún tutorial de algo que no sepa hacer. Lo veo lógico y normal, puesto que tenemos 20000 millones de tecnologías que cambian cada dos por tres y es imposible aprender y saberse de memoria como funcionan todas ellas.

Dicho esto, quien necesite algo sobre tecnologías webs que me envie un privado.
Flanders escribió:Dicho esto, quien necesite algo sobre tecnologías webs que me envie un privado.

Te tomo la palabra, je je
Gracias Flanders y saludo a Homer de mi parte.
Stibi666 escribió:
Flanders escribió:Dicho esto, quien necesite algo sobre tecnologías webs que me envie un privado.

Te tomo la palabra, je je
Gracias Flanders y saludo a Homer de mi parte.

XD :p
Homer es tecnológicamente insuperable por ninguno de nosotros.
Imagen
earthattack está baneado por "Troll"
Te recomiendo, para comenzar:

Bases de programación. Qué tipos de programación existen; y las estructuras típicas:

if, if-else, do-while, foreach. for y while; luego las funciones (function) y aprender a manejar clases y a instanciarlas. No olvidar return, break... y ten en cuenta los tipos de datos, que tanto en js como en php son sencillitos de manejar; y los arrays también. Para maquetar... agregame al msn y te doy un par de consejos que te resultarán fundamentales y te ahorrarán más quebraderos.

Un saludo.
earthattack escribió:Te recomiendo, para comenzar:
Bases de programación. Qué tipos de programación existen; y las estructuras típicas:
if, if-else, do-while, foreach. for y while; luego las funciones (function) y aprender a manejar clases y a instanciarlas. No olvidar return, break... y ten en cuenta los tipos de datos, que tanto en js como en php son sencillitos de manejar; y los arrays también. Para maquetar... agregame al msn y te doy un par de consejos que te resultarán fundamentales y te ahorrarán más quebraderos.
Un saludo.

Gracias de nuevo compañero. Tendré en cuenta todas las recomendaciones. No utilizo messnger, pero tranqui que si necesito ayuda ya te pillaré por banda pues ya tengo tu email, je je.
Saludos!!
16 respuestas