Pregunta

He estado discutiendo un proyecto con un cliente y quieren usar un solo idioma para implementar en tantas plataformas como sea posible.

(No estoy seguro de que sea una buena idea, porque cada plataforma ofrece una experiencia de usuario diferente y una metáfora de la interfaz de usuario. En algunos casos, los tamaños de pantalla también varían. Además, el iPhone está fuera de la ejecución sin importar qué idioma usamos. , Estoy divagando ...)

El proyecto mostrará un bloque arbitrario de texto cada día y rastreará si el usuario lo ha "leído". Algunas otras características sobre la mesa son "Nags" y la capacidad de ir al texto de otros días.

Sé Flash de los días CS3, y creo que eso se traduce en aire, pero no sé si el aire puede hacer lo que queremos.

Por otro lado, tengo (a) poca experiencia con Java o Python, pero esos también parecen buenos contendientes.

¿Qué idioma debo usar aquí? ¿Por qué?

Editar:

Esto también se ejecutará en plataformas de escritorio.

¿Fue útil?

Solución

ActionScript 3 es el lenguaje. Se ejecuta en una amplia variedad de plataformas. En el navegador (reproductor flash), en el escritorio (aire), en dispositivos móviles en navegadores (Android) y también como aplicaciones nativas (Android e iOS ambos). Olvídate de Flashlite.

Otros consejos

Estos son idiomas que tienen muy buenos factores de implementación:

Javascript.

¿Por qué? Se ejecuta en el navegador, y la mayoría de las plataformas que le importarán tener un navegador. Sin embargo, algunos teléfonos móviles de extremo inferior pueden tener un navegador severamente despojado (o Opera Mini, que admite JavaScript solo en el lado proxy y JavaScript muy limitado).

Jvm

Java Virtual Machine es ubicua en casi todos los teléfonos móviles, escritorio o computadora del servidor. En igualdad de condiciones, tal vez es la mejor plataforma si desea una fácil portabilidad. Casi todos los teléfonos móviles, antiguos y nuevos, admiten JVM, la única excepción importante es el iPhone.

Pitón

Python es muy omnipresente en Linux y Unix World; Y el lenguaje tiene un comportamiento muy consistente en diferentes plataformas, casi no necesita trabajo adicional para escribir un programa multiplataforma en Python. Sin embargo, la mayoría de las ventanas no se envían con Python de forma predeterminada, y la mayoría de los teléfonos móviles no admiten Python. OTOH JYTHON, compila el código Python a JVM; Esto combina la consistencia y la facilidad de uso de Python con la ubicuidad de la plataforma JVM.

Si no necesita preocuparse por el iPhone, entonces JVM Development es el camino a seguir. Si odias la sintaxis del lenguaje de Java, entonces Jython es una alternativa más agradable. Sin embargo, si necesita la mayor portabilidad, JavaScript es probablemente el camino a seguir; Sin embargo, escribir cualquier cosa en JavaScript es doloroso.

C

Puede encontrar una versión de GCC para cualquier plataforma con la que pueda soñar, desde el microcontrolador más pequeño hasta la supercomputadora más grande, y si no encuentra una, puede construir una cadena de herramientas propia.

Pascal gratis

Pascal gratis (también conocido como FPK Pascal) es un compilador Pascal profesional de 32 y 64 bits de 64 bits. Está disponible para diferentes procesadores:

  • Intel x86
  • AMD64/X86_64
  • PowerPC
  • PowerPC64
  • SPARC
  • BRAZO

Actualmente se admiten los siguientes sistemas operativos:

  • Linux
  • FreeBSD
  • Haiku
  • Mac OS X/Darwin
  • Dos
  • Win32
  • Win64
  • Contraerse de dolor
  • OS/2
  • Netware (libc y clásico)
  • Morfos

La versión 1.0 discontinuada también es compatible con Motorola 680x0.

Lázaro es un IDE multiplataforma de código abierto que proporciona una experiencia de desarrollo de Delphi-Mimic para los desarrolladores de Pascal y Object Pascal. Está desarrollado y respaldado por el compilador Pascal gratuito. Lazarus está disponible para Microsoft Windows, varias distribuciones de Linux, FreeBSD, así como Mac OS X.

Lazarus

Con .net, Mononucleosis infecciosa, GTK#, Monotouch y Mono para Android Puede llegar a la gran mayoría de las plataformas con cualquier idioma .NET y tener una interfaz de usuario de aspecto nativo en cada una.

  • .Net te atrapará
    • ASP.NET para la web
    • ¡Silverlight para la web en Windows y Mac (Moonlight de Mono también lo lleva a Linux!)
    • Silverlight para Windows Phone 7
  • Mono con gtk# te atrapará
    • Mac OS X
    • Linux
    • Otros tal vez, pero menos aspecto nativo. Escuché que algunos han subido a la Wii con Mono. . .
  • Monotouch para iPhone, iPad, etc.
  • Monodroid para el android
  • Blackberry .net - Primero escuché de eso, pero dicen .net en BlackBerry, supongo con Qt.

No puedo pensar en otras plataformas importantes que te pierdas allí. ¿Tú? Por supuesto, esto señala marcos que puede usar para apuntar a todas estas plataformas. Te dejaré elegir el idioma. C#, Oxygene o VB.NET son los más populares en .NET. El oxigeno (incluido en Delphi Prism) tiene el beneficio adicional de ser parcialmente compatible con Delphi nativo para el desarrollo de ventanas nativas, pero si desea usar Ironruby o F# no lo detendremos.

Es posible que desee echar un vistazo a http://www.phonegap.com/

La aplicación que está detallando suena muy simple, y personalmente no soy fanático de las capas que se encuentran sobre la plataforma nativa, sin embargo, esto puede ser perfecto para usted.

EDITAR: Parece que la naturaleza de la pregunta ha cambiado un poco.

Parece que esto es para plataformas móviles correctas? En ese caso, no tiene suerte, ya que no hay lenguaje que los gobierne a todos. Hay productos que compilarán una solución a otro (como http://www.xmlvm.org/android/) Pero aparte de eso, tendrá que usar el idioma/entorno nativo.

Uhm, ¿qué tal haxe? Puede apuntar a muchas plataformas por ahora y si aprende a Ocaml, es libre de escribir un nuevo backend para lo que sea que desee.

yo Recientemente lee cómo Netflix se implementa en más de 400 plataformas utilizando HTML5. Definitivamente vale la pena leerlo.

En general, no intentaría comprometerme con un idioma. En la empresa en la que trabajo utilizamos varios idiomas y tecnologías. Se trata de usar el lenguaje adecuado para el trabajo correcto al igual que usa la herramienta adecuada para el trabajo. No usaría un destornillador para golpear un clavo como no usaría un martillo para cambiar las tuercas de mi automóvil.

Revolución Livecode / Runtime

Implementa en Mac, Windows y Linux y también fabrica un software independiente para todo tipo de otras plataformas.

Con C# .NET puede implementar en cualquier plataforma móvil importante de forma nativa (gran diferencia de las plataformas HTML 5 como PhoneGAP que son básicamente aplicaciones web híbridas) utilizando mono (para Android), monotouch (para Apple) y blackberry.net.

El idioma y la plataforma son bien compatibles con Microsoft con muchos empleadores que buscan ese conjunto de habilidades. Si no se vende por completo, simplemente vaya a su sitio web de trabajo tecnológico favorito y comience a conectar diferentes idiomas/plataformas en el cuadro de búsqueda. Obtendrá una idea de qué dirección desea tomar.

Adobe Flash/Flex

(No estoy seguro de si eso estaba siendo descartado en su pregunta)

Se ejecuta en casi todos los navegadores, la mayoría de las plataformas móviles y con aire, la mayoría de las plataformas de escritorio.

Leer: http://business2press.com/2010/09/11/adobe-reversi-tlows-developers-to-make-single-app-for-different-platforms/

Reloj: http://www.youtube.com/watch?v=22vicdlzmki&feature=player_embedded

Licenciado bajo: CC-BY-SA con atribución
scroll top