Si quiero crear una aplicación web por mi cuenta, ¿por dónde debo comenzar?

Front-end: HTML5, CSS3 y JavaScript (jQuery)

Back end: cualquiera de los siguientes marcos

1. Codeigniter – PHP
2. CakePHP – PHP
3. Ruby On Rails – Ruby
4. Django – Python

Nettuts ofrece un buen conjunto de tutoriales para la mayoría de estos, pero prefiero estudiar de libros. Voy a enumerar algunos libros aquí.

1. Comienzo de HTML, CSS y JavaScript
2. CSS3 para diseño web
3. Aprendizaje de jQuery
4. Comienzo del desarrollo web PHP, Apache, MySQL
5. La documentación de Codeigniter servirá (no es un libro electrónico)
6. Sumérgete en Python
7. Desarrollo de sitios web de aprendizaje con Django

Si buscas un sitio que ofrezca una funcionalidad cuadrangular, quizás quieras comenzar a tomar en serio la mecánica del juego. Y si el suyo incluye un motor de recomendaciones, observe los modelos de bases de datos Graph además de los RDB tradicionales como MySQL.

Le recomiendo que desarrolle la aplicación web usted mismo y no la externalice porque nadie conoce el producto mejor que usted. Buena suerte.

Curso de desarrollo web (CS253), Este es un curso increíble sobre udacity por Steve Huffman, creador de Reddit e Hipmunk. A partir de los conceptos básicos de cómo funciona la web, esta clase lo guiará a través de todo lo que necesita saber para crear su propia aplicación y escalarla para admitir un gran número de usuarios.

Aunque este trabajo del curso se basa en Google App Engine, el asunto del curso es muy genérico y lo expondrá a la mayor parte de la pila de tecnología actual.

En primer lugar, se necesita mucha práctica y comprensión para crear aplicaciones web productivas. Bueno, eso no significa asustarte.

Te sugiero que comiences con la parte de desarrollo front-end: escribir HTML, plantillas CSS. Y luego haga un modelo básico de cómo debería ser su sitio, es decir, sin ninguna funcionalidad.

Ahora, para la parte del backend (lado del servidor), puede comenzar con el idioma que desee. Si eres bueno con Java, podrías probar Apache Tomcat. Si desea aprender algún otro idioma, por ejemplo, quiere hacer frente a la tendencia actual en términos de marcos que se usan ampliamente, entonces puede probar RoR, Django, nodejs, etc.… PHP también es una opción, pero, se cree que las personas terminan escribiendo código de mierda cuando comienzan con PHP.

Bueno, un punto más que debe mencionarse es que ningún marco puede considerarse inapropiado / NO bueno. Depende solo del código que escriba. Ciertamente, en una contradicción, los marcos proporcionan una plataforma para estructurar su código.

Una vez que haya terminado con la parte del servidor, pruebe la eficacia y los errores de su aplicación. Aprenda a prevenir algunas de las amenazas comunes e impleméntelo.

Luego viene la parte de JavaScript. Es la segunda cosa más importante después de la lógica de negocios que implementa en el lado del servidor. Ahora es el momento de aprender JavaScript. Tenga en cuenta que no comience con JavaScript inmediatamente después de escribir su plantilla. Una vez que tenga todo funcionando, es hora de jugar y perturbar toda la configuración. De esta manera, su experiencia de aprendizaje sería bastante buena. Después de un poco de experiencia con JavaScript, puede comenzar a implementar AJAX en su sitio. Una vez que se haya entendido correctamente, puede probar HTML5 (websockets, trabajadores web, etc.) y crear una aplicación web bastante buena y productiva :). EL FIN ;).

Javascript es una parte tan importante de la construcción de una aplicación web moderna que siento que saltar con node.js es un buen comienzo. Echa un vistazo a GitHub para obtener toneladas de recursos relacionados con la web. La mejor herramienta que puede tener un desarrollador web es comprender la pila completa desde múltiples ángulos, así que ensucia tus manos con el nodo y tal vez Django o Ruby on Rails. En el proceso, descubrirá otros marcos o bibliotecas que pueden despertar su interés.

Voy a tomar lo que podría ser una postura pasada de moda y le recomiendo que evite w3schools. En la mayoría de los casos, es incorrecto, anticuado o engañoso. Utilice la red de desarrolladores de Mozilla en su lugar.

Entonces, quieres hacer una aplicación web.
Para el front-end necesitarás HTML + CSS + JavaScript

Como usted dice que su idea está relacionada con FourSquare y similares, necesita soporte de back-end. Para esto se requiere un lenguaje de script del lado del servidor. Si bien PHP es excelente para comenzar las cosas bastante rápido, es posible que desee examinar Python (particularmente Django).

para ver excelentes tutoriales en video, busque thenewboston en YouTube

para el desarrollo front-end y PHP, un gran lugar es w3schools.com

Si está dispuesto a pasar el tiempo aprendiéndolo, Ruby on Rails es el marco de elección para crear ese tipo de sitios web. Puede ir a través del Tutorial de Ruby on Rails: Aprenda Rails por ejemplo, y luego busque un mentor o un campamento de entrenamiento para mejorarlo.

Puede comenzar con los Tutoriales web en línea de W3Schools

Te recomiendo que comiences a aprender en el siguiente orden:

  1. HTML
  2. CSS
  3. JavaScript
  4. Cualquier script del lado del servidor como PHP, JSP, ASP.NET, etc.
  5. AJAX

Gracias Ashish por tu R2A.

Déjame ofrecerte una perspectiva bastante diferente

Mi idea está relacionada de alguna manera con FourSquare, FoodSpotting y Kickstarter, y requeriré funcionalidades similares en mi sitio web.

  • Quien es el cliente? Quien es el usuario? ¿Quiénes son sus socios?
  • ¿Por qué alguien usaría esto?
  • ¿Qué impide la escala y la adopción? Una falla en los modelos FourSquare, FoodSpotting y Kickstarter es que son un obstáculo: requieren que los usuarios trabajen y no hacen nada atractivo sin usuarios.
  • ¿Cómo vas a llegar a esas audiencias?

Es un ejercicio simple, pero demasiados se saltan la creencia de que poner una aplicación, especialmente en la tienda de aplicaciones de Apple, y obtener algunas buenas críticas, lo pondrá en camino. No es del todo cierto en cualquier tramo inimaginable de la imaginación. Las aplicaciones fallan, TODO EL TIEMPO. Dicen que 9 de cada 10 startups fracasan … lo que no suelen compartir es que de ese mero 10% que tiene éxito, 9 de cada 10 se convierten en negocios de estilo de vida sostenible. Tienes aproximadamente un 1% de posibilidades de desarrollar algo serio y significativo aquí, así que ¿por dónde deberías comenzar? No con la forma en que lo construyes, sino con cómo lo haces funcionar. Resuelva eso primero y la gente le dará dinero para construirlo.

Si realmente va a hacer todo usted mismo, debe centrarse en algo más que la tecnología en el back-end. Debe centrarse en la experiencia que desea que las personas tengan y trabajar a partir de eso para determinar las mejores herramientas para el trabajo.

  • ¿Quieres una interfaz mínima como reddit?
    HTML4 puede ser suficiente para ti.
  • ¿Cuántos medios estarán involucrados?
    Medios pesados ​​significa HTML5 o algo parecido a Flash (o ambos si quieres llegar).
  • ¿Te sientes lo suficientemente cómodo como para diseñar recursos en Photoshop?
    HTML5 le permite evitar el uso de Photoshop para gradientes de botones, esquinas redondeadas, etc., lo que puede ser realmente agradable si no se siente cómodo haciendo todas sus composiciones en Photoshop.
  • ¿Desea que las personas con navegadores antiguos puedan usar su sitio con total fidelidad (o en absoluto)?
    Esto afectará la cantidad de HTML5 que puede usar. Ignorar los navegadores más antiguos sin duda acelerará sus esfuerzos, pero dejará ciertas demografías en el frío.
  • ¿Cómo afectará la adición de usuarios adicionales al rendimiento de su sitio?
    Si necesita poder agregar usuarios adicionales fácilmente y no tiene experiencia con lo que eso significa, debe considerar seriamente las plataformas en la nube que intentan resolver muchos de esos problemas por usted. No los resolverán todos, pero pueden permitirle enfocarse en diferentes tipos de problemas mientras se intensifica.
  • ¿Qué tipo de inversión está dispuesto a poner en control de calidad?
    Aprender nuevas herramientas puede ser muy divertido y proporcionar muchas recompensas, pero asegúrese de tener algún tipo de control de calidad adicional, como pruebas automatizadas para verificar su trabajo. Cometerá errores iniciales al aprender nuevas tecnologías, y no quiere que sus usuarios las sufran.

Como tienes algo de experiencia con la programación oop, creo que la mejor opción para ti es comenzar con cakePHP para el lado del servidor y jQuery (biblioteca Javascript para el lado del cliente).

Al ver algunos tutoriales en línea como (Tutorial de blog para cakephp), verá que la mayor parte del código se puede generar automáticamente y tiene muchos complementos (Gestión de usuarios, SEO, etc.). Funciona muy bien en cualquier plataforma, es rápido, seguro y fácil de entender. Por supuesto, hay muchos marcos buenos (quizás mejores que cakePHP), pero simplemente creo que esta es la mejor opción.

Una buena razón para no aprender PHP principal es porque no lo necesita tanto. Además, la documentación es impresionante y puede encontrar lo que necesite en cualquier momento.
No digo nada sobre jQuery, solo que el 99% de los sitios web decentes lo usan.

Haga un bootcamp de desarrollo web, si puede permitírselo. Estoy haciendo Bloc [1] en este momento, y he aprendido mucho más y lo disfruté mucho más que cuando traté de revisar los recursos en línea por mi cuenta. Antes de Bloc, estaba trabajando en el tutorial de Hartl Rails. Progresaba muy lentamente y era un poco miserable.

Luego me uní a Bloc. Muchas de las personas en la clase tenían historias similares a las mías. Habían intentado aprender solos, varios con el tutorial de Hartl, y decidieron que podían aprender mejor con los demás.

Muchos de ellos llegaron al campo de entrenamiento con un proyecto específico en mente. Bloc se adapta muy bien a estos estudiantes porque te guía en gran medida a través de la creación de la aplicación. Parece que los otros bootcamps están menos enfocados en trabajar en su propio proyecto.

[1] http://bloc.io/