¿Por qué no se utilizan HTML, CSS y JavaScript para aplicaciones de escritorio? [cerrado]

17

HTML, CSS y JavaScript se pueden utilizar para crear interfaces de usuario hermosas (y útiles) (especialmente ahora que tenemos HTML5 y CSS3), y muchas personas ya las conocen. Aunque todavía está mucho más allá de mi alcance, ¿qué tan difícil puede ser llevar toda la aplicación web a las aplicaciones de escritorio? Ya probamos las aplicaciones en nuestros servidores locales antes de alojarlas.

En mi opinión, es una idea agradable y simple que creará un auge en las aplicaciones de escritorio. Además, dado que estas aplicaciones ya compartirán tanto código con las aplicaciones web, podrían ofrecer una mejor conectividad.

¿Por qué no se está haciendo?

kapv89
fuente
15
¿No se acaba de anunciar como Windows 8?
ChrisF
Sry, no soy un gran entusiasta de Windows, lo que estoy pidiendo exactamente es un marco de código abierto para desarrollar aplicaciones de escritorio basadas en db que puedan conectarse a la red, y sí, finalmente algo innovador de ms
kapv89
¿Por qué no se usa papel para construir automóviles? (sí, es mal tiempo de analogía :))
haylem
@ChrisF ¿Eso funcionó alguna vez para Windows 8 o solo fue una exageración?
developerwjk

Respuestas:

30

Adobe ya lo hizo con Adobe Air , y Mozilla también con Prism . Google también trató de cerrar la brecha entre el escritorio y la web con Google Gears .

Pero, en general, las tecnologías web no son adecuadas para muchos tipos de aplicaciones de escritorio, aquí hay algunas razones por las cuales:

  • No hay acceso completo al hardware disponible de inmediato.
  • No hay acceso al sistema de bajo nivel.
  • No hay acceso al sistema de archivos fácilmente disponible (las tecnologías que mencioné anteriormente le permiten obtener acceso fs pero cada una de ellas como su propia solución diferente).
  • Actuación. Una aplicación compilada nativa es generalmente más rápida que una aplicación Javascript.
  • Es fácil para los competidores robar el código fuente
  • No hay bibliotecas disponibles para tareas especializadas. Ex. procesamiento de imágenes, codificación de sonido, acceso a bases de datos, programación de redes, etc.
Trasplazio Garzuglio
fuente
Para ser justos, no todas las aplicaciones necesitan hardware completo o acceso de bajo nivel. Los lenguajes de
máquinas virtuales
66
Bueno, ¿conoces muchas aplicaciones Java de escritorio?
Yoni Roit
¿Qué pasa con JavaScript en Google v8? He leído que es muy rápido (tan rápido como Java), puedo ver la diferencia yo mismo cuando ejecuto una animación js pesada en Chrome y otros navegadores. Y con el crecimiento de la API para html5, js realmente aporta mucho a la mesa, con el material del lienzo, puede hacer el procesamiento de imágenes y todo ... así que no creo que js realmente tenga ese mal conjunto de herramientas, como un plus, es más un lenguaje de programación funcional, (las funciones son objetos de primera clase)
kapv89
1
acabo de ver Prism (ahora WebRunner) y Google gears, cosas agradables para jugar, gracias
kapv89
3
@YoniRoit: Eclipse, Vuze, el sistema de pedidos de mi farmacéutico ...
haylem
2

El marco que viene a la mente es Adobe Air. Permite a los desarrolladores web usar Javascript / HTML para desarrollar aplicaciones de escritorio. Javascript / HTML por sí solo no es adecuado para aplicaciones de escritorio porque a menudo una aplicación de escritorio necesitará acceso a los servicios proporcionados por el sistema operativo, por ejemplo, abrir archivos, iniciar otras aplicaciones, etc. Javascript por sí solo no permite el acceso a dichos servicios por lo que necesita algo extra y los marcos como Adobe Air proporcionan ese pegamento adicional.

davidk01
fuente
1

Hay un par de formas de hacer esto ahora. Existe el Marco de aplicaciones de Mozilla, que a menudo usan navegadores web como Firefox, pero también lo usan, por ejemplo, el IDE de Komodo de ActiveState .

También hay Qt, que en Qt Quick tiene CSS y un lenguaje similar a Javascript.

Andrew Dalke
fuente
agradable, va a buscar en el marco de aplicaciones Mozilla
kapv89
1

En mi opinión, no adopto HTML y CSS como una forma de diseñar GUI porque no conozco ningún compilador para estos idiomas. Si tengo un error en el código, tengo que buscarlo yo mismo o tal vez ni siquiera lo note (o vaya al sitio HTML para probarlo).

En c ++ me gusta que no me permita compilar a menos que el código sea correcto (excepto por problemas de tiempo de ejecución).

Tampoco creo que CSS y HTML funcionen muy bien juntos, como usar float en CSS, dependiendo de su código HTML y uso, el resultado de float tendrá diferentes resultados, una falta de consistencia en comparación con el uso de posicionamiento absoluto en win32 o los grandes gestores de diseño de Java Swing.

usuario14321
fuente
3
Validadores de HTML y CSS que harán básicamente lo que está haciendo su compilador de C ++: verificaciones de sintaxis y verificaciones de tipo. Creo que algunos IDE potentes vienen con tales validadores.
Arnaud Le Blanc
1
Para la parte de posicionamiento, CSS también tiene posicionamiento absoluto, y HTML5 tiene mucho más que los administradores de diseño de Swing. Algunos editores también le permitirán diseñar su GUI de forma WYSIWYG.
Arnaud Le Blanc
0

Una razón importante es que si no desea que su aplicación sea robada y copiada fácilmente, también deberá crear una aplicación que contenga un WebControl que se vincule directamente a sus archivos empaquetados de alguna manera.
De hecho, hay aplicaciones que hacen esto. Titanium Appcelerator es uno. No te recomiendo que lo uses porque la última vez que lo miré estaba lleno de errores y tenía poco soporte. Tendrás que hacer tu propia investigación para ver si vale la pena.

James P. Wright
fuente
0

Un poco tarde, pero si usa AsYouWish en Firefox (o crea complementos de Firefox si no le importa comprimir sus archivos y probarlos con sus herramientas), puede crear aplicaciones en HTML que tengan privilegios de escritorio. Si usa WebAppFind (actualmente solo Windows), también puede hacer que los archivos de escritorio se abran desde el escritorio directamente a una aplicación web (sin necesidad de arrastrar y soltar).

Descargo de responsabilidad: estos complementos (de código abierto) fueron creados por mí.

Brett Zamir
fuente
1
Debe divulgar su afiliación con el producto que está anunciando.
Rob W
0

Puede usar Javascript, HTML y CSS para crear aplicaciones para la Tienda Windows, Windows Phone y, supongo, XBox a través de "Aplicaciones universales". (Para ser claros, comenzando en Visual Studio usando File | New Project ...)

Esto está utilizando lo anterior para construir su UX y el código de la aplicación contra una implementación de las API nativas .

Naturalmente, en lugar de que esto sea visto como un intento por parte de Microsoft de abrir la plataforma a más desarrolladores, se consideró que despreciaba a los desarrolladores basados ​​en C # y XAML, lo que, por supuesto, no era, pero esa no es una historia tan buena ... Estos no son necesariamente el tipo de aplicaciones de escritorio que la pregunta considera nativas.

Murph
fuente