Empezando

Empezando

Hay buenas y malas noticias para los desarrolladores web: la mala noticia es que la transición continua del escritorio ha llevado a una desconcertante variedad de opciones cuando se trata de elegir una herramienta de desarrollo; La buena noticia (y es muy buena) es que estas herramientas comparten mucho en común, así que aprende cualquiera de ellas y tienes el 80% de aprender el resto. Esto se debe a que la mayoría de ellos conforman, en mayor o menor medida, a los estándares ECMA. También hay algo maravillosamente democrático en las aplicaciones web. Armado con poco más que un servidor web de Linux barato que ejecuta Apache, MySQL y PHP, el programador de fondo puede crear e implementar a cualquier persona con un navegador, a un costo financiero casi cero.

Compare eso con el desarrollo de aplicaciones de escritorio y el contraste es obvio. No puedo pensar en una sola herramienta de desarrollo de escritorio que valga la pena que sea gratuita para fines comerciales, y el costo de inicio típico para un desarrollador de escritorio se encuentra en cientos o miles de libras. Desarrollar para el escritorio también limita el mercado de su producto: ¿está desarrollando para Windows, Macintosh o Linux?? Debe elegir y, si es Windows, debe admitir 98 y versiones más nuevas? En ese caso, .Se descargan los lenguajes de programación netos porque es poco probable que los posibles clientes aprecien que se vean obligados a descargar un gran marco antes de que puedan instalarlo incluso. Si es Macintosh, ¿necesita admitir OS 8/OS 9 y OS X?? Si es Linux, ¿cuánta opción tiene en las herramientas de desarrollo profesional??

RealBasic es una herramienta de programación que puede atender todos estos escenarios: de hecho, es la única que conozco. Las diferencias fundamentales entre los sistemas operativos de Windows, Linux y Mac significan que no es una tarea trivial crear una versión para todos ellos, pero es factible. La desventaja es que RealBasic no es tan bueno en ninguno de estos entornos como una herramienta específica para ese entorno. Desarrollé una aplicación de escritorio sofisticada en RealBasic porque el cliente quería soporte para Windows 98 con una interfaz que se parece a Microsoft Word 2003! Gran parte de la interfaz de la palabra ahora deriva del .Marco neto que es casi imposible replicar en lo que es esencialmente una herramienta Win32.

Nada de esto es un problema para el desarrollador de aplicaciones web. En teoría, es posible crear una aplicación web sofisticada que se verá y se comportará como una aplicación nativa en cualquier navegador, que se ejecuta en cualquier sistema operativo, una aplicación universal de una única base de código. Por supuesto, nunca es tan simple. Hay suficientes inconsistencias entre diferentes navegadores que debe probar cada combinación a fondo, incluso si el idioma es oficialmente admite los más comunes como Windows XP con Internet Explorer 6. Estas inconsistencias a menudo implican diferencias menores en la apariencia y la sensación en lugar de la funcionalidad. Mirando nuestra PassyourTheory.co.Sitio web del Reino Unido, el 89% de nuestros visitantes usan Internet Explorer (de los cuales la gran mayoría están en la versión 6), el 9% usa Firefox y la mayoría del resto está utilizando el Safari del navegador Mac. Claramente tiene sentido apuntar a Internet Explorer 6, al tiempo que garantiza la compatibilidad con el 10%+ restante usando otros navegadores.

Entonces, donde empezar? Una de las cosas encantadoras del desarrollo de aplicaciones web es que no importa tanto. Convertirse en un experto en la combinación PHP/MySQL que alimenta la mayoría de los sitios web dinámicos es una opción tan buena como invertir en ASP.Red/ventanas. PHP/MySQL son de código abierto y se ejecutan felizmente en servidores Linux de baja potencia, mientras que necesitará un servidor de Windows bien especificado (por lo tanto caro) para hacer frente a cualquiera de los .Idiomas netos. PHP es portátil en todas las plataformas, por lo que siempre es una opción, mientras que .NET es, para todos los efectos, una tecnología solo de Windows.