Domanda

Ho discusso un progetto con un cliente e vogliono utilizzare una sola lingua di distribuire al maggior numero di piattaforme possibili.

(non sono sicuro che sia come una buona idea, perché ogni piattaforma offre un'esperienza utente diversa e interfaccia utente metafora. In alcuni casi, le dimensioni dello schermo variano pure. Inoltre, iPhone è fuori dalla corsa, non importa ciò che la lingua uso. Ma, sto divagando ...)

Il progetto sta per visualizzare un blocco arbitrario di testo ogni giorno e seguirà se l'utente ha "letto" di esso. Alcune altre caratteristiche sul tavolo sono "ronzini" e la capacità di andare in testo altri giorni.

So Flash dai giorni CS3, e penso che si traduce in aria, ma non so se l'aria può fare quello che vogliamo.

D'altra parte, ho (a) po 'di esperienza con Java o Python, ma quelli sembrare buone contendenti anche.

In quale lingua devo usare qui? Perché?

Modifica

Questo sta per essere eseguito su piattaforme desktop troppo.

È stato utile?

Soluzione

ActionScript 3 è la lingua. Funziona su un'ampia varietà di piattaforme. In del browser (flash player), sul desktop (AIR), su dispositivi mobili nei browser (Android) e anche come applicazioni native (Android e iOS entrambi). Dimenticatevi di Flashlite.

Altri suggerimenti

Queste sono lingue che hanno un ottimo fattori di implementazione:

Javascript.

Perché? Si gira su browser e maggior parte delle piattaforme che ci interessano avere su un browser. Anche se il browser, alcuni telefoni cellulari di fascia bassa potrebbero essere gravemente spogliato (o Opera Mini, che supporta Javascript solo sul proxy-side, e molto limitato JavaScript lato client).

JVM

Java Virtual Machine è onnipresente in quasi ogni telefono, computer o del server di telefonia mobile. Tutte le altre cose sono uguali, forse è la piattaforma migliore se si vuole una facile trasportabilità. Quasi ogni telefono cellulare, vecchio e nuovo, supporta JVM, l'unica grande eccezione è iPhone.

Python

Python è molto diffuso nel mondo Linux e Unix; e la lingua ha un comportamento molto coerente su diverse piattaforme, è quasi bisogno di nessun lavoro aggiuntivo per scrivere un programma cross-platform in Python. Tuttavia, la maggior parte di Windows non viene fornito con Python di default, e la maggior parte del telefono cellulare non supporta Python. OTOH Jython, compila il codice Python per JVM; questo combina la consistenza e la facilità d'uso del pitone con l'ubiquità della piattaforma JVM.

Se non c'è bisogno di preoccuparsi di iPhone, allora lo sviluppo JVM è la strada da percorrere. Se odiate sintassi del linguaggio Java, quindi Jython è un posto più bello alternativa. Se avete bisogno di più se la portabilità, Javascript è probabilmente la strada da percorrere; tuttavia scrivere qualcosa in Javascript è doloroso.

C

È possibile trovare una versione di gcc per qualsiasi piattaforma si può sognare, dal microcontrollore più piccolo per il supercomputer più enorme, e se non trovate quello che si può semplicemente costruire un toolchain di tua scelta.

Free Pascal

Free Pascal (aka FPK Pascal) è un open source 32 e 64 bit compilatore Pascal professionale. E 'disponibile per diversi processori:

  • Intel x86
  • Amd64 / x86_64
  • PowerPC
  • PowerPC64
  • Sparc
  • ARM

I sistemi operativi seguenti sono attualmente supportati:

  • Linux
  • FreeBSD
  • Haiku
  • Mac OS X / Darwin
  • DOS
  • Win32
  • Win64
  • WinCE
  • OS / 2
  • NetWare (libc e classico)
  • MorphOS

La interrotto 1,0 versione supporta anche la 680x0 Motorola.

Lazarus è un cross-piattaforma open source IDE che fornisce un esperienza di sviluppo Delphi-mimico per Pascal e Object Pascal sviluppatori. È stato sviluppato e supportato dal compilatore Free Pascal. Lazzaro è disponibile per Microsoft Windows, diverse distribuzioni Linux, FreeBSD, così come Mac OS X.

Lazzaro

Con .NET, Mono , GTK # , MonoTouch e Mono per Android si può raggiungere la grande maggioranza delle piattaforme con qualsiasi linguaggio .NET e hanno un nativo cercando interfaccia utente su ciascuno.

  • .NET si arriva
    • ASP.NET per il Web
    • Silverlight per il Web su Windows e Mac (Moonlight da Mono si ottiene anche su Linux!)
    • Silverlight per Windows Phone 7
  • Mono con GTK # ti porterà
    • Mac OSX
    • Linux
    • altri forse, ma meno nativo cercando. Ho sentito alcuni hanno ottenuto su Wii con Mono. . .
  • MonoTouch per iPhone, iPad, ecc.
  • MonoDroid per Android
  • BlackBerry .NET - un primo momento ho sentito parlare, ma dicono .NET sul BlackBerry, io parto dal presupposto con QT.

Non è possibile pensare di eventuali altre principali piattaforme ti manca lì. Tu? Naturalmente questo fa notare quadri che è possibile utilizzare per indirizzare tutte queste piattaforme. Ti lascio scegliere la lingua. C #, VB.NET Oxygene o sono più popolari su .NET. Oxygene (incluso in Delphi Prism) ha il vantaggio di essere parzialmente compatibile con Delphi nativo per lo sviluppo nativo Windows, ma se si desidera utilizzare IronRuby o F # non si fermerà.

Si potrebbe desiderare di dare un'occhiata a http://www.phonegap.com/

L'applicazione che si sta dettagliando suoni molto semplici, e personalmente io non sono un fan di strati che si trovano al di sopra della piattaforma nativa, tuttavia questo può essere perfetto per voi.

Modifica:. Sembra che la natura della questione è cambiato un po '

Sembra che questo è per piattaforme mobili correggere? In tal caso, sei praticamente fuori di fortuna in quanto non c'è linguaggio per domarli tutti. Ci sono prodotti che cross-compilare una soluzione ad un altro (come http://www.xmlvm.org/android / ) ma a parte che dovrete usare il linguaggio / ambiente nativo.

uhm, come su haXe ? È possibile indirizzare un sacco di piattaforme ormai e si dovrebbe imparare OCaml sei libero di scrivere un nuovo backend per qualunque cosa tu voglia.

I letto di recente come Netflix distribuisce a più di 400 piattaforme che utilizzano HTML5. E 'sicuramente la pena di leggere.

In generale, non vorrei cercare di impegnarsi per una lingua. Al azienda per cui lavoro a noi utilizziamo diversi linguaggi e tecnologie. Si tratta di utilizzare il linguaggio giusto per il lavoro giusto, proprio come si utilizza lo strumento giusto per il lavoro. Non vorrei usare un cacciavite per piantare un chiodo proprio come non vorrei usare un martello per cambiare dadi della mia macchina.

LiveCode / Revolution Runtime

distribuisce su Mac, Windows e Linux e rende il software standalone per tutti i tipi di altre piattaforme.

Con C # .NET è possibile distribuire a qualsiasi grande piattaforma mobile in modo nativo (grande differenza da HTML 5 piattaforme come PhoneGap, che sono fondamentalmente le applicazioni web ibridi) che utilizzano Mono (per Android), MonoTouch (per Apple), e BlackBerry.NET.

La lingua e la piattaforma è ben supportato da Microsoft con molti datori di lavoro alla ricerca di quel set di abilità. Se il vostro non completamente venduti, basta andare al tuo sito web lavoro preferito tecnologia e iniziare a collegare in diverse lingue / piattaforme nella casella di ricerca. Si otterrà un'idea di quale direzione si vuole prendere.

Adobe Flash / Flex

(non so se questo veniva esclusa in questione)

Viene eseguito in quasi tutti i browser, la maggior parte delle piattaforme mobili e con l'aria, la maggior parte delle piattaforme desktop.

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

Watch: http://www.youtube.com/watch?v=22vicDlzmkI&feature= player_embedded

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top