¿Cómo hago que el desarrollo de aplicaciones web sea menos frustrante?

8

Soy bastante nuevo en el desarrollo de aplicaciones web. Simplemente no puedo evitar la sensación de que me lleva una eternidad hacer algo, incluso de complejidad remota. En c ++ y java podría escribir las mismas aplicaciones en cuestión de horas.

La depuración en la web es dolorosa (especialmente si está involucrado el complejo json-ajax). Los IDEs chupan. Los idiomas dejan pasar todo sin errores hasta que ya no funciona y estás atascado buscando un error sin ningún error o advertencia que te guíe (y no hay una forma realmente buena de avanzar en el programa).

¿Puede alguien guiarme para leer material y / o tecnologías que me ayuden a encontrar una manera de mantenerme sano al desarrollar aplicaciones web complejas?

Quizás la respuesta sea usar un buen marco (¿zend?). En el trabajo realmente no estamos usando un marco, excepto los generadores de modelos de base de datos y los generadores básicos de agregar / actualizar / eliminar páginas.

    
pregunta zhenka 30.08.2011 - 03:48

6 respuestas

4

Si aún no está usando Firefox y firebug, debería hacerlo. El depurador de Firebug está lleno de maravillas (no es que Chrome no lo sea, son casi lo mismo), pero tiendo a usar Firefox debido a proyectos de SO como mozrepl , que te permite crear secuencias de comandos de Firefox en lugar de usar conjuntos de pruebas automatizadas que generan navegadores, como Selenium.

Entonces, para el lado del cliente, Chrome o Firefox tienen excelentes depuradores integrados (llenos de paneles de observación, monitores de rendimiento, todas las cosas buenas que conoces y adoras en C ++ / Java).

En cuanto al lado del servidor, si estás usando PHP, entonces recomiendo sugerir el uso de DBG . Si no estás atado a PHP, entonces también te sugeriría encarecidamente moverte a Python y usar PDB . PDB, junto con cProfile simplemente hace que la vida del desarrollo sea mucho más fácil.

Si está acostumbrado a GDB (C ++), entonces tanto PDB como DBG deberían ser fáciles de aprender y ejecutar. Ambos también pueden integrarse en editores como Eclipse, Netbeans y Vim.

    
respondido por el Demian Brecht 30.08.2011 - 04:01
1

Programo de manera diferente en lenguajes dinámicos. No hay comprobación de tiempo de compilación, pero tampoco hay ningún retardo de tiempo de compilación. Así que escribo un poquito de código a la vez, y luego lo pruebo. Comienzo con una página en blanco y agrego un elemento a la vez, probando a medida que avanzo. Confío cada pequeño cambio en el control de revisión tan pronto como funcione. De esa manera, si me equivoco, puedo volver al estado de trabajo anterior y tener otra oportunidad. En el lado del servidor, he encontrado que los lenguajes dinámicos son mucho más productivos que Java, porque tengo que escribir y leer mucho menos código, y porque nunca tengo que perder el tiempo con los reinicios del servidor.

    
respondido por el kevin cline 30.08.2011 - 05:05
1

Siempre puede usar java o C ++ (o ruby, o python, o scala o ...) si realmente no puedes soportar PHP (lo cual es comprensible. A mucha gente no le gusta).

Si desea continuar con lo que está usando actualmente, asegúrese de usar firebug ( aunque las herramientas de desarrollo de Google Chrome están a punto de ser mucho más impresionantes ) con el FirePHP plugin que te permitirá tener una vista completa del estado de PHP y cualquier error que ocurra.

Además, asegúrese de usar las funciones de manejo de errores de PHP en uso (pero recuerde eliminarlas otra vez antes de que empiece a funcionar, ya que también son una excelente manera para que los usuarios malintencionados descubran los aspectos internos de su aplicación)

En cuanto a los IDE, siempre puede probar el Eclipse PHP Developer Tools o usar el Zend Studio más dedicado

    
respondido por el Trezoid 30.08.2011 - 05:02
1

Algunas herramientas que utilizo para mejorar mi desarrollo son:

Visual Web Developer 2010 (parte de Visual Studio 2010)

Dijiste que el IDE apesta. Con esto ahora tienes uno de los mejores IDE, y si solías codificar en C ++, apuesto a que ya sabes VS. Utilizo la versión Express, que es gratuita y no necesito más.

JS Fiddle y Codepad

Genial para probar diseños HTML / CSS y scripts JS. Codepad es ideal para probar su sitio web en idiomas del lado del servidor.

Firefox + Firebug (u otros equivalentes de navegadores)

La depuración de scripts es mucho más fácil usando los navegadores. También tiene un DOM completo al estilo de árbol que puede manipular como desee y los cambios se aplicarán en tiempo real.

Usa un marco

Hay varios marcos para cada idioma web que hay. Le ofrecen un conjunto de funcionalidades bien probadas que garantizan la compatibilidad entre navegadores, le ahorran mucho tiempo de depuración y "escribe menos y hace más". Sugiero buscar en jQuery y YUI para Codificación de JavaScript.

Registro de la consola

Para rastrear el progreso de tu depuración, usa una Consola de depuración, integrada en la mayoría de los navegadores. En JS, el uso de console.log('something to write'); agregará una entrada de texto a la consola de depuración, de esta manera puede agregar información útil a su código para fines de depuración y hacer un seguimiento de la ejecución de su código.

Boilerplate

Ahora no me malinterpretes. Sé que estás en el desarrollo de aplicaciones web y no el sitio web normal. Pero el hecho es que aún es un sitio web, y usted todavía necesita encargarse del problema más importante que tiene: la compatibilidad entre navegadores. Esta es una plantilla sólida que le dará una base sólida para sus páginas HTML, y mucho más ...

CSS Reset

Si no estás utilizando Boilerplate, que viene con su propio restablecimiento de CSS, es posible que desees asegurarte de que tus páginas se vean correctamente entre los navegadores. Un restablecimiento de CSS asegurará esto. Mi favorito es Restablecimiento de CSS de YUI , junto con CSS Base y CSS Fuentes .

    
respondido por el Jose Faeti 30.08.2011 - 08:56
0

El uso de un marco como Ruby on Rails ayuda a aliviar la frustración en gran medida. Tiene un informe de errores bastante bueno, y gracias a ActiveRecord que trabaja con modelos y bases de datos es muy fácil. Mientras siga la filosofía de la convención sobre la configuración, puede crear prototipos de aplicaciones web complejas con bastante rapidez con RoR.

Segundo, Firebug, aunque las herramientas de desarrollador para webkit también funcionan bien.

Editar para recursos:

Aquí hay un gran lugar para comenzar gratis.

www.railstutorial.org

    
respondido por el jktress 30.08.2011 - 05:32
0

XDebug podría ayudarte a depurar en un fashioncloser a lo que estás acostumbrado con VS ( Las últimas versiones de Wampserver se envían con Xdebug (servidor y cliente), si está buscando una instalación de desarrollo fácil que instale todo lo que necesita excepto un editor de texto).

Además, si PHP no es lo tuyo, prueba otro idioma : puedes estar más contento con Python, Ruby / Rails, ASP o Perl.

Además, puedes escribir módulos CGI en C ++ en lugar de scripts PHP, aunque te aconsejaría que pruebes PHP un poco más, es bastante útil una vez que aprendas.

    
respondido por el wildpeaks 30.08.2011 - 09:23

Lea otras preguntas en las etiquetas