utilizarse tipos son sistema prueba período permiten online las internet gratuitas funcionalidades enriquecidas ejemplos durante desarrollo deben cómo concepto añadir aplicaciones web-applications comparison rich-internet-application

web-applications - tipos - sistema web concepto



Lista de tecnologías de aplicaciones web enriquecidas (8)

Estoy tratando de familiarizarme con el mundo de la aplicación web enriquecida. Hay algunas tablas de comparación de tecnologías disponibles en la Wikipedia, pero aún me parece poco claro cuáles son las opciones para el desarrollo de aplicaciones enriquecidas.

¿Podrías verificar y completar la información que reuní a continuación? ¿Cuáles son las principales ventajas y desventajas de cada opción? ¿Cuál es la mejor opción para una aplicación web grande y muy rica?

Opción 1: ASP.NET/ASP.NET MVC
Proveedor: Microsoft
Entorno: Visual Studio
Idioma: C #
Salida: HTML + JavaScript + AJAX
Ejemplo: www.stackoverflow.com

Opción 2: Silverlight
Proveedor: Microsoft
Entorno: Visual Studio
Idioma: C #
Salida: .NET ejecutable?
Ejemplo:?

Opción 3: Google Web Toolkit
Proveedor: Google
Entorno: Eclipse
Idioma: Java
Salida: HTML + JavaScript + AJAX
Ejemplo: http://www.projectkaiser.com:8080/pk/

Opción 4: Flex
Vendedor: Adobe
Ambiente: ?
Idioma: ?
Salida: Flash (archivo .swf)
Ejemplo: http://listen.grooveshark.com/

Opción 5: Adobe AIR
Vendedor: Adobe
Ambiente: ?
Idioma: ?
Salida: AIRE
Ejemplo: http://www.colabolo.com/en/download.html

Opción 5: Ruby on Rails
Vendedor: Rails Core Team
Ambiente:?
Idioma: Ruby
Salida: HTML + JavaScript + AJAX?
Ejemplo:?

Opción 6: Applets de Java
Vendedor: Sun
Entorno: Eclipse
Idioma: Java
Salida: Java Applet

Opción 7: OpenLeszlo
Vendedor: ?
Ambiente: ?
Idioma: ?
Salida:?
Ejemplo:?

Opción 8: Vexi
Vendedor: Vexi core team
Entorno: Eclipse
Idioma: XML + JavaScript
Salida: Java
Ejemplo: Demo en http://vexi.sourceforge.net/

Opción 9: Django
Vendedor: Django core team
Ambiente: ?
Idioma: Python
Salida: HTML + JavaScript + AJAX
Ejemplo:?

Opción 10: XUL
???


Creo que el desarrollo web se está volviendo más complejo con cada año (múltiples plataformas y dispositivos, dispositivos más capaces). A medida que esto sucede, las capas de software son cada vez más definidas y más complejas. La integración y la independencia entre esas capas cobran una importancia primordial si se busca a largo plazo. Ya no puede confiar en construir la solución en una sola tecnología. Así que me gustaría ver sistemas abiertos / estándares como Web 2, 3, etc.


Estoy totalmente de acuerdo con Peter Gwiazda, así que no puedo decir nada más sobre esa sección ya que los cubrió a todos. Lo que quiero agregar es algunas otras especificaciones. Primero aclara en tu mente lo que deseas lograr con él. ¿Cuál es la aplicación que deseas desarrollar? También busca en qué sistema deseas que se ejecute esa aplicación. Luego, decidirá qué tipo de lenguaje / marco desea desarrollar. Aclare su objetivo, analice qué marco será mejor desarrollar (basado en la demanda en mi opinión) y luego vaya y aprenda. ¡No puedes aprenderlos todos a la vez! Cada idioma / plataforma tiene sus pros y sus contras, por lo que decidirá lo que más le convenga.


Lo has mezclado todo. Aquí tiene dos capas: la interfaz de usuario que hace que la aplicación sea "rica" ​​y el código del lado del servidor.

IU:

Silverlight
Funciona mejor con la plataforma .NET. No consideraría unirme a ella con Java, Ruby on Rails, PHP o algo así.
Las herramientas son comerciales.

Flash / Flex (Plataforma Flash)
Mi favorito y creo que es el más maduro de la lista (es mi opinión subjetiva ya que trabajo como desarrollador de Flex / Java). Funciona con todas las tecnologías del lado del servidor utilizando un simple servicio HTTP, WebService byt la mejor integración es mediante los servicios AMF (protocolo binario eficiente). La integración está en diferentes niveles. Las llamadas remotas básicas (es suficiente para el 90% de los proyectos) están disponibles para todas las plataformas (.NET, Java EE, PHP, RoR). pero hay una biblioteca para la interación de alto nivel (sincronización de datos, envío de datos, eventos cliente-servidor o incluso inyección de dependencia cliente-servidor) para Java EE: Adobe Livecycle Data Services (comercial) o GraniteDS y Tide Framework (gratis, funciona con JBoss Costura).

Flex SDK (compilador y lib) es gratuito, pero FlexBuilder es comercial.

OpenLaszlo
Hay dos opciones: "compilación" en vivo para flash o html + javascript en el servidor OpenLaszlo, o compilación en tiempo de desarrollo para flashear y cargar en el servidor http. Se integra con la mayoría de las tecnologías del lado del servidor. La idea es similar a flexionar pero fue la primera.

SDK es gratis, IDE es bastante pobre.

JavaFX / Java Applet
Es más bien experimental, las herramientas gráficas y el IDE son pobres. la idea es declarar (pero no XML) la interfaz de cambio de código y ejecutarla como un applet. Creo que la identificación no tiene estado de producción.

Flash / Flex y Silverlight le ofrecen las herramientas más avanzadas para crear una interfaz de experiencia de usuario enriquecida con multimedia (transmisión de video / audio, uso de cámara web, micrófono, etc.).

Adobe AIR
AIR significa Adobe Integrated Runtime, que te permite ejecutar aplicaciones Flex o HTML + Javascript en tu escritorio (funciona de forma similar a la Máquina Virtual de Java + WebStart). Para aplicaciones flexibles, las integraciones con sistemas remotos son las mismas que las anteriores. La aplicación AIR se instala en la máquina cliente y se ejecuta como cualquier aplicación. Usted tiene acceso al sistema de archivos también. AIR se ejecuta en Windows, Mac y Linux / BSD también (creo).

Lado del servidor:

Java
Es: Java EE 5 (ahora Java EE 6), o aplicación web simple sin contenedor de aplicaciones. Puede tener alguna interfaz de usuario enriquecida basada en javascript como Google Web Toolkit, JBoss RichFaces, IceFaces y algunas cosas comerciales.

Se integra bien con la interfaz Flex con los marcos de integración: Adobe LiveCycle ... (comercial), BlazeDS (simple, gratis), GraniteDS + Tide + Gravity (avanzado, gratis), WebOrb y otros. Puede tener el marco de aplicación aquí: Spring (2 o 3), JBoss Seam y mucho ...

.RED
No soy un experto aquí. Te da oportunidades para la interfaz rica de JS. se integra con Silverlight y Flex (WebOrb, .NET y AMF ).

Hay muchas otras tecnologías allí. Algunos de ellos tienen sus propias IU ricas, otros no. La mayoría de ellos se integra con Flex.

PHP
Rich UI con marco de aplicación Prado. Hay algunos frameworks PHP más simples (pregunte en google). Integración flexible con AmfPHP, WebOrb, SabreAMF

Ruby on Rails
Language + Server + App framework. Puede integrarse con Flex

Pitón
Hay algunos marcos de aplicaciones: Django, Pylons ... Se puede integrar con Flex

Scala + Lift
Lift es un framework de aplicaciones escrito en scala. Se ejecuta en el servidor java.

Fusión fría
Una tecnología de adobe. El lenguaje es CFML. Se ejecuta en el servidor de Adobe Coldfusion, pero hay un Railo gratuito de JBoss. Se integra con flex.


Mis cinco centavos

ASP.NET - olvídalo. Tecnología milenaria pasada obsoleta.

Profesionales de Silverlight - bibliotecas comerciales muy potentes disponibles. Si el efecto "wow" es una necesidad, entonces es su elección, aunque debería gastar algo de dinero para comprar software de terceros en 3D.

Por ejemplo, mira

sirius2. intersoftpt. com

demostraciones telerik com / silverlight / salesdashboard /

Contras de Silverlight : el navegador debe tener instalado el complemento Silverlight , este complemento debe actualizarse periódicamente cuando se lance la nueva versión de Silverlight y se use en su software, a veces hay un problema al actualizar este complemento. Además, no está seguro de que este complemento esté completamente disponible para los sistemas operativos * nux; por lo tanto, potencialmente puede quedarse con Windows.

Pros de GWT : no se necesita un complemento, el desarrollo de Java y Java se compila en javascript puro. Mi herramienta favorita para crear aplicaciones efectivas, por ejemplo, http://www.projectkaiser.com

Contras GWT : bibliotecas de GUI deficientes (incluso si hablamos de bibliotecas comerciales)

Applets de Java . Puedes mirar el pivote. apache org

Así que mi respuesta a "Cuál es la mejor opción para una aplicación web grande y muy rica" ​​es Silverlight. Tenga cuidado con los contras sin embargo!


Opción para gente de python:

Pijamas (Google Web Toolkit) - python en compilado en JS

+ cualquier backend de python (Django, Web.py ..).

Toda la comunicación pasa por JSON-RPC.


Sencha Ext JS es una potente biblioteca de aplicaciones para usuario que brinda una experiencia de escritorio en el navegador. Ventajas: aspecto coherente, arquitectura potente (OOP basada en prototipos), muchos widgets. Contras: en la mayoría de los casos no es gratis.

Si elige seguir con el enfoque modular (que es recomendable para aplicaciones web complejas con muchos datos y cientos de modelos), y desea usar Ruby en el back-end, consulte Netzke: https://github.com/nomadcoder/netzke-core .


Si está hablando de crear una aplicación web con funciones interactivas enriquecidas en el cliente, hay 3 opciones principales:

  1. Basado en flash, pero su aplicación no se ejecutará en un iPad.
  2. Silverlight: el complemento necesario no se adopta tan ampliamente como Flash, incluso Microsoft lo ha estado desechando recientemente para las aplicaciones web.
  3. HTML: la Web 2.0 consistía en utilizar HTML + JavaScript nativo para crear aplicaciones ricas en un navegador web.

Para mi dinero, HTML es por lejos la plataforma más interesante. Tiene la mayor actividad y se está estandarizando rápidamente en todos los navegadores. HTML5 agrega soporte para funciones como el almacenamiento local y el procesamiento en segundo plano. Google Chrome ahora incluso tiene una biblioteca de gráficos 3D (WebGL) - Firefox pronto llegará.

Si fuera tú, me centraré en aprender la pila de HTML (5): HTML, CSS, CSS3, HTML5, jQuery, y mirar los marcos de código abierto como backbone.js, jQuery mobile, JQTouch, angular.js, etc. . Sigo muchos de estos proyectos en GitHub; puede ver la lista más grande aquí:

https://github.com/mckoss/following

Es probable que su aplicación web enriquecida necesite algún tipo de infraestructura de servidor para admitirla. Ruby on Rails es probablemente el marco más popular y muy fácil de comenzar. Heroku puede alojar su aplicación de manera muy fácil y escalable.

Si ya tienes un montón de código Java (yo no soy fan de Java) - GWT de Google es un marco muy agradable para crear aplicaciones en Java puro, y compila los bits del lado del cliente con JavaScript.

Personalmente, me gusta Python en el lado del servidor: Google App Engine ofrece una muy buena opción que es escalable y fácil de programar (usar el marco de Django en Google App Engine es la mejor opción para aplicaciones no triviales).

Y, si pudiera sugerir algo nuevo en lo que he estado trabajando, Pageforest.com proporciona una plataforma de aplicaciones web con JavaScript puro. Usted escribe TODO su código en JavaScript del lado del cliente y utiliza AJAX / REST para iniciar sesión en los usuarios y guardar datos en el servidor de Pageforest (este servicio es gratuito y gratuito para los desarrolladores).

¡Buena suerte!


También estoy analizando qué tecnología utilizar, creo que hay 1, es posible que desee echar un vistazo a

Appcelerator Titanium : le permite desarrollar para plataformas de escritorio y móviles utilizando tecnologías web como HTML5 / CSS / JS y para plataforma de escritorio, incluso PHP / Python

aún evaluándolo también

También analizando las aplicaciones web nativas de RIA (AIR, Silverlight, Titanium) vs (PHP, ASP.NET MVC). Los RIA son poderosos en el sentido de que pueden interactuar con el sistema de archivos y son generalmente más rápidos, ya que existen a nivel local. las aplicaciones web no pueden interactuar con el sistema de archivos y, en general, son más lentas y tienen una mayor latencia. pero como existen en la web puedo acceder a ella desde cualquier lugar.

En realidad quería conformarme con tecnologías web abiertas como HTML5 / CSS3 / JS / PHP / Python pero considerando seriamente la plataforma .NET. C # / F # / WPF / Entity Framework / Silverlight y las características de los iconos de superposición de Windows 7, la barra de progreso y las listas de salto muestran un gran potencial. y la capacidad de usar 1 framework en algunos idiomas para aplicaciones web y de escritorio, incluso RIA es un gran atractivo. También he visto muchos videos sobre los patrones y las prácticas. MS recomienda que la calidad, etc. es fantástica, puede ser difícil de aprender al principio, pero creo que valdrá la pena. La desventaja que muchos dirán es que incluso yo es su fuente cerrada. herramientas generalmente más caras