Una lingua per domarli tutti? (Essendo piattaforme). [Chiuso]

5

Ho discusso di un progetto con un cliente e vogliono utilizzare un'unica lingua per distribuirla sul maggior numero di piattaforme possibile.

(Non sono sicuro che sia una buona idea, perché ogni piattaforma offre una diversa esperienza utente e metafora dell'interfaccia utente.In alcuni casi, anche le dimensioni dello schermo variano. Inoltre, l'iPhone è fuori controllo, non importa quale lingua noi uso. Ma sto divagando ...)

Il progetto mostrerà un blocco arbitrario di testo ogni giorno e monitorerà se l'utente lo ha "letto". Alcune altre funzionalità sul tavolo sono "nags" e la possibilità di andare al testo di altri giorni.

Conosco Flash dai giorni di CS3 e penso che si traduca in AIR, ma non so se AIR può fare ciò che vogliamo.

D'altra parte, ho (a) poca esperienza con Java o Python, ma anche quelli sembrano buoni contendenti.

Quale lingua dovrei usare qui? Perché?

Modifica

Anche questo funzionerà su piattaforme desktop.

    
posta Moshe 05.10.2010 - 18:02
fonte

12 risposte

3

ActionScript 3 è la lingua. Funziona su un'ampia varietà di piattaforme. Nel browser (lettore flash), sul desktop (AIR), sui dispositivi mobili nei browser (Android) e anche come applicazioni native (Android e iOS entrambi). Dimentica flashlite.

    
risposta data 06.10.2010 - 09:31
fonte
17

Si tratta di lingue con ottimi fattori di implementazione:

Javascript.

Perché? Funziona su browser e la maggior parte delle piattaforme a cui tieni è un browser. Tuttavia, alcuni telefoni cellulari di fascia bassa potrebbero avere browser gravemente spogliato (o Opera Mini, che supporta Javascript solo sul lato proxy e Javascript sul lato client molto limitato).

JVM

Java Virtual Machine è onnipresente in quasi tutti i telefoni cellulari, desktop o server. A parità di altre condizioni, forse è la migliore piattaforma se si desidera una facile portabilità. Quasi tutti i telefoni cellulari, vecchi e nuovi, supportano JVM, l'unica grande eccezione è l'iPhone.

Python

Python è molto onnipresente nel mondo Linux e Unix; e il linguaggio ha un comportamento molto coerente su piattaforme diverse, non è quasi necessario alcun lavoro aggiuntivo per scrivere un programma multipiattaforma in python. Tuttavia, la maggior parte di Windows non viene fornita con Python per impostazione predefinita e la maggior parte dei telefoni cellulari non supporta Python. OTOH Jython, compila codice Python in JVM; questo combina la coerenza e la facilità d'uso di Python con l'ubiquità della piattaforma JVM.

Se non ti interessa preoccuparti dell'iPhone, allora lo sviluppo JVM è la strada da percorrere. Se odi la sintassi del linguaggio di Java, allora Jython è un'alternativa migliore. Se hai bisogno della massima portabilità, Javascript è probabilmente la strada da percorrere; tuttavia scrivere qualcosa in Javascript è doloroso.

    
risposta data 05.10.2010 - 20:30
fonte
7

C

Puoi trovare una versione di gcc per qualsiasi piattaforma che puoi sognare, dal più piccolo microcontrollore al supercomputer più grande e, se non la trovi, puoi semplicemente creare una toolchain di tua proprietà.

    
risposta data 06.10.2010 - 11:11
fonte
5

Con .NET, Mono , GTK # , MonoTouch e Mono per Android puoi raggiungere la maggior parte delle piattaforme con qualsiasi linguaggio .NET e avere un'interfaccia utente nativa su ciascuna.

  • .NET ti prenderà
    • ASP.NET per il Web
    • Silverlight per il Web su Windows e Mac (Moonlight di Mono ti mette anche su Linux!)
    • Silverlight per Windows Phone 7
  • Mono con GTK # ti prenderà
    • Mac OSX
    • Linux
    • Altri forse, ma meno nativi. Ho sentito che alcuni hanno preso Wii con Mono. . .
  • MonoTouch per iPhone, iPad, ecc.
  • MonoDroid per Android
  • BlackBerry .NET - prima ne ho sentito parlare, ma dicono .NET sul BlackBerry , Presumo con QT.

Non riesco a pensare ad altre piattaforme importanti che ti mancano. Tu? Ovviamente questo indica i framework che è possibile utilizzare per scegliere come target tutte queste piattaforme. Ti lascerò scegliere la lingua. C #, Oxygene o VB.NET sono i più popolari su .NET. Oxygene (incluso in Delphi Prism) ha il vantaggio di essere parzialmente compatibile con Delphi nativo per lo sviluppo nativo di Windows, ma se vuoi usare IronRuby o F # non ti fermeremo.

    
risposta data 07.10.2010 - 01:14
fonte
5

Free Pascal

Free Pascal (aka FPK Pascal) è un compilatore Pascal professionale a 32 e 64 bit Open Source. È disponibile per diversi processori:

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

I seguenti sistemi operativi sono attualmente supportati:

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

La versione 1.0 fuori produzione supporta anche il Motorola 680x0.

Lazarus è un IDE multipiattaforma open source che fornisce un'esperienza di sviluppo simile a Delphi per gli sviluppatori Pascal e Object Pascal. È sviluppato e supportato dal compilatore Free Pascal. Lazarus è disponibile per Microsoft Windows, diverse distribuzioni Linux, FreeBSD e Mac OS X.

    
risposta data 28.04.2011 - 21:01
fonte
4

Potresti dare un'occhiata al link

L'applicazione che stai descrivendo sembra molto semplice, e personalmente non sono un fan dei livelli che si trovano sopra la piattaforma nativa, tuttavia questo potrebbe essere perfetto per te.

Modifica: sembra che la natura della domanda sia leggermente cambiata.

    
risposta data 05.10.2010 - 18:13
fonte
2

Sembra che questo sia corretto per le piattaforme mobili? In quel caso sei praticamente sfortunato, perché non c'è una lingua per dominarli tutti. Ci sono prodotti che compileranno una soluzione a un'altra (come link ) ma a parte questo dovrai usare la lingua / ambiente nativo.

    
risposta data 05.10.2010 - 18:07
fonte
2

uhm, che dire di haXe ? Puoi scegliere come target molte piattaforme e se imparassi a OCaml sei libero di scrivere un nuovo back-end per qualsiasi cosa tu voglia.

    
risposta data 26.10.2010 - 11:40
fonte
2

I di recente ho letto come Netflix si distribuisce su oltre 400 piattaforme usando HTML5. Vale sicuramente la pena leggerlo.

In generale, non proverei a impegnarmi in una lingua. In azienda a cui lavoro, utilizziamo vari linguaggi e tecnologie. Si tratta di utilizzare la lingua giusta per il lavoro giusto proprio come si utilizza lo strumento giusto per il lavoro. Non vorrei usare un cacciavite per martellare un chiodo proprio come non vorrei usare un martello per cambiare i dadi della mia auto.

    
risposta data 28.04.2011 - 21:11
fonte
1

LiveCode / Runtime Revolution

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

    
risposta data 06.10.2010 - 21:16
fonte
1

Con C # .NET è possibile distribuire su qualsiasi piattaforma mobile principale in modo nativo (grande differenza dalle piattaforme HTML 5 come PhoneGap che sono fondamentalmente applicazioni web ibride) utilizzando Mono (per Android), MonoTouch (per Apple) e BlackBerry.NET.

La lingua e la piattaforma sono ben supportate da MicroSoft con molti datori di lavoro che cercano quel set di abilità. Se non sei completamente venduto, vai nel tuo sito web di lavoro tecnico preferito e inizia a collegare diverse lingue / piattaforme nella casella di ricerca. Avrai un'idea di quale direzione vuoi prendere.

    
risposta data 10.03.2012 - 17:36
fonte
0

Adobe Flash / Flex

(non sono sicuro che sia stato escluso nella tua domanda)

Funziona in quasi tutti i browser, la maggior parte delle piattaforme mobili e con AIR, la maggior parte delle piattaforme desktop.

Leggi: link

Guarda: link

    
risposta data 05.10.2010 - 19:44
fonte