Frage

Ich habe ein Projekt mit einem Kunden diskutiert und sie möchten eine einzige Sprache verwenden, um so viele Plattformen wie möglich bereitzustellen.

(Ich bin mir nicht sicher, ob es sich um eine gute Idee handelt, da jede Plattform eine andere Benutzererfahrung und UI -Metapher anbietet. , Ich schweife ab...)

Das Projekt wird jeden Tag einen beliebigen Textblock angezeigt und verfolgt, ob der Benutzer es "lesen" hat. Einige andere Funktionen auf der Tabelle sind "Nörgel" und die Fähigkeit, zu einem weiteren Tagen Text zu gehen.

Ich weiß, dass Flash aus den CS3 -Tagen und ich denke, das führt zu Luft, aber ich weiß nicht, ob Luft das tun kann, was wir wollen.

Andererseits habe ich (a) kleine Erfahrung mit Java oder Python, aber diese scheinen auch gute Konkurrenten zu sein.

Welche Sprache soll ich hier verwenden? Wieso den?

Bearbeiten:

Dies wird auch auf Desktop -Plattformen ausgeführt.

War es hilfreich?

Lösung

ActionScript 3 ist die Sprache. Es läuft auf einer Vielzahl von Plattformen. Im Browser (Flash Player), auf Desktop (AIR), auf mobilen Geräten in Browsern (Android) und auch als native Anwendungen (Android und iOS beide). Vergessen Sie Flashlite.

Andere Tipps

Dies sind Sprachen mit sehr guten Bereitstellungsfaktoren:

JavaScript.

Wieso den? Es läuft auf dem Browser und die meisten Plattformen, die Ihnen wichtig sind, haben einen Browser. Einige Mobiltelefone im unteren Ende haben jedoch möglicherweise einen stark entzogenen Browser (oder Opera Mini, das JavaScript nur auf der Proxy-Seite und sehr begrenztem clientseitigem JavaScript unterstützt).

JVM

Java Virtual Machine ist in fast jedem Mobiltelefon, Desktop oder Servercomputer allgegenwärtig. Alle anderen Dinge sind gleich, vielleicht ist es die beste Plattform, wenn Sie eine einfache Portabilität wünschen. Fast jedes alte und neue Handy unterstützt JVM, die einzige große Ausnahme ist das iPhone.

Python

Python ist in Linux und Unix World sehr allgegenwärtig; Und die Sprache hat ein sehr konsistentes Verhalten auf verschiedenen Plattformen. Sie benötigen fast keine zusätzliche Arbeit, um ein plattformübergreifendes Programm in Python zu schreiben. Die meisten Windows versenden jedoch standardmäßig nicht mit Python, und das meiste Handy unterstützt Python nicht. Otoh Jython, kompiliert Python Code für JVM; Dies kombiniert die Konsistenz und einfache Verwendung von Python mit der Allgegenwart der JVM -Plattform.

Wenn Sie sich nicht um das iPhone kümmern müssen, ist die JVM -Entwicklung der richtige Weg. Wenn Sie Javas Sprachsyntax hassen, ist Jython eine schönere Alternative. Wenn Sie jedoch die größte Portabilität benötigen, ist JavaScript wahrscheinlich der richtige Weg. Es ist jedoch schmerzhaft, irgendetwas in JavaScript zu schreiben.

C

Sie finden eine Version von GCC für jede Plattform, von der Sie träumen können, vom kleinsten Mikrocontroller bis zum größten Supercomputer. Wenn Sie keine finden, können Sie einfach eine eigene Toolchain erstellen.

Kostenloser Pascal

Kostenloser Pascal (auch bekannt als FPK Pascal) ist ein Open Source 32- und 64 -Bit -Pascal -Compiler. Es ist für verschiedene Prozessoren verfügbar:

  • Intel x86
  • AMD64/x86_64
  • Powerpc
  • Powerpc64
  • Sparc
  • ARM

Die folgenden Betriebssysteme werden derzeit unterstützt:

  • Linux
  • Freebsd
  • Haiku
  • Mac OS X/Darwin
  • DOS
  • Win32
  • Win64
  • Zusammenzucken
  • OS/2
  • NetWare (LIBC und Classic)
  • Morphos

Die eingehende 1.0 -Version unterstützt auch die Motorola 680x0.

Lazarus ist eine plattformüber Open-Source-IDE, die ein Delphi-Mimic-Entwicklungserlebnis für Pascal- und Objektpascal-Entwickler bietet. Es wurde vom freien Pascal -Compiler entwickelt und unterstützt. Lazarus ist für Microsoft Windows, mehrere Linux -Verteilungen, FreeBSD sowie Mac OS X verfügbar.

Lazarus

Mit .net, Mono, Gtk#, Monotouch und Mono für Android Sie können die große Mehrheit der Plattformen mit jeder .NET -Sprache erreichen und eine native Benutzeroberfläche haben.

  • .Net wird dich bekommen
    • ASP.NET für das Web
    • Silverlight für das Web unter Windows und Mac (Moonlight von Mono bringt Sie auch unter Linux!)
    • Silverlight für Windows Phone 7
  • Mono mit GTK# wird dich bekommen
    • Mac OS X
    • Linux
    • Andere vielleicht, aber weniger einheimisch aussehen. Ich höre, dass einige mit Mono auf die Wii gestiegen sind. . .
  • Monotouch für das iPhone, das iPad usw.
  • Monodroid für den Android
  • Blackberry .net - Zuerst habe ich davon gehört, aber sie sagen .NET on the Blackberry, nehme ich mit QT an.

Ich kann mir keine anderen wichtigen Plattformen vorstellen, die Sie dort vermissen. Du? Dies weist natürlich auf Frameworks hin, mit denen Sie alle diese Plattformen ansprechen können. Ich werde Sie die Sprache auswählen lassen. C#, Oxygen oder VB.NET sind bei .NET am beliebtesten. Oxygen (in Delphi Prism enthalten) hat den zusätzlichen Vorteil, dass sie für die native Windows -Entwicklung teilweise kompatibel sind. Wenn Sie jedoch IronRuby oder F# verwenden möchten, werden wir Sie nicht aufhalten.

Vielleicht möchten Sie sich ansehen http://www.phonegap.com/

Die Anwendung, die Sie detailliert haben, klingt sehr einfach, und persönlich bin ich kein Fan von Ebenen, die über der nativen Plattform sitzen. Dies kann jedoch perfekt für Sie sein.

Bearbeiten: Es scheint, als hätte sich die Art der Frage etwas geändert.

Es klingt so, als ob dies für die richtigen mobilen Plattformen gilt? In diesem Fall sind Sie ziemlich viel Glück, da es keine Sprache gibt, um sie alle zu regieren. Es gibt Produkte, die eine Lösung für eine andere (z. http://www.xmlvm.org/android/) Aber abgesehen davon müssen Sie die Muttersprache/Umgebung verwenden.

Ähm, wie wäre es mit haxe? Sie können inzwischen viele Plattformen ansprechen und sollten Sie OCAML lernen, dass Sie ein neues Backend für alles schreiben können, was Sie Lust haben.

ich Lesen Sie kürzlich, wie Netflix über HTML5 auf über 400 Plattformen bereitstellt. Es ist definitiv eine Lektüre wert.

Im Allgemeinen würde ich nicht versuchen, mich auf eine Sprache zu verpflichten. In der Firma arbeite ich in verschiedenen Sprachen und Technologien. Es geht darum, die richtige Sprache für den richtigen Job zu verwenden, genau wie Sie das richtige Tool für den Job verwenden. Ich würde keinen Schraubenfahrer benutzen, um einen Nagel zu hämmern, so wie ich keinen Hammer benutzen würde, um die Nuttern meines Autos zu wechseln.

Livecode / Laufzeitrevolution

Bereitet auf Mac, Windows und Linux bereit und erstellt auch für alle möglichen Plattformen eine eigenständige Software.

Mit C# .NET können Sie auf jeder wichtigen mobilen Plattform nativ (großer Unterschied zu HTML 5 -Plattformen wie PhoneGap, die im Grunde genommen Hybrid -Web -Apps) mit Mono (für Android), Monotouch (für Apple) und BlackBerry.net) nativ bereitstellen.

Die Sprache und Plattform werden von Microsoft mit vielen Arbeitgebern, die nach diesen Fähigkeiten suchen, gut unterstützt. Wenn Sie nicht vollständig verkauft sind, gehen Sie einfach zu Ihrer bevorzugten Tech -Jobwebsite und stecken Sie verschiedene Sprachen/Plattformen im Suchfeld an. Sie erhalten eine Vorstellung davon, in welche Richtung Sie einschlagen möchten.

Adobe Flash/Flex

(Ich bin mir nicht sicher, ob das in Ihrer Frage ausgeschlossen wurde)

Läuft in fast allen Browsern, den meisten mobilen Plattformen und mit Luft, den meisten Desktop -Plattformen.

Lesen: http://business2press.com/2010/09/11/adobe-reversi- allows-developers-t-make-single-app-app-different-platforms/

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top