我一直在与客户讨论一个项目,他们想使用一种语言来部署到尽可能多的平台。

(我不确定这是一个好主意,因为每个平台都提供不同的用户体验和UI隐喻。在某些情况下,屏幕尺寸也有所不同。此外,无论我们使用什么语言,iPhone都无法运行。 ,我离题...)

该项目将每天显示一个任意的文本块,并将跟踪用户是否“读取”它。桌子上的其他一些功能是“ nags”,并且能够转到其他日子的文字。

我知道CS3天的闪光灯,我认为这转化为空气,但我不知道空气是否可以做我们想做的事。

另一方面,我(a)对Java或Python的经验很少,但是这些似乎也是很好的竞争者。

我在这里应该使用哪种语言?为什么?

编辑:

这也将在桌面平台上运行。

有帮助吗?

解决方案

ActionScript 3是语言。它在各种平台上运行。在浏览器(Flash Player)中,在台式机上(AIR),在浏览器(Android)中的移动设备上以及本机应用程序(Android和iOS)。忘记闪光灯。

其他提示

这些语言具有很好的部署因素:

JavaScript。

为什么?它在浏览器上运行,并且您关心的大多数平台都有浏览器。但是,某些下端手机可能严重剥离了浏览器(或Opera mini,仅在代理侧支持JavaScript,并且客户端JavaScript非常有限)。

JVM

Java虚拟机在几乎所有手机,桌面或服务器计算机上都无处不在。所有其他事情都是平等的,如果您想要简单的便携性,也许是最好的平台。几乎所有新旧手机都支持JVM,唯一的主要例外是iPhone。

Python

Python在Linux和Unix World中无处不在。该语言在不同平台上具有非常一致的行为,您几乎不需要其他工作即可在Python中编写跨平台程序。但是,默认情况下,大多数Windows不会使用Python发货,并且大多数手机不支持Python。 Otoh Jython,将Python代码编译到JVM;这结合了Python的一致性和易用性与JVM平台的普遍存在。

如果您不需要关心iPhone,那么JVM开发是必经之路。如果您讨厌Java的语言语法,那么Jython是更好的选择。但是,如果您需要最多的便携性,那么JavaScript可能是必经之路。但是,在JavaScript中写任何东西是痛苦的。

C

您可以找到可以梦dream以求的任何平台的GCC版本,从最微小的微控制器到最大的超级计算机,如果您找不到它,您只需构建自己的工具链即可。

免费的帕斯卡

免费的帕斯卡 (又名FPK Pascal)是开源32和64位专业PASCAL编译器。它可用于不同的处理器:

  • 英特尔X86
  • AMD64/X86_64
  • POWERPC
  • PowerPC64
  • Sparc
  • 手臂

目前支持以下操作系统:

  • Linux
  • freebsd
  • haiku
  • Mac OS X/Darwin
  • dos
  • Win32
  • Win64
  • Wince
  • OS/2
  • Netware(LIBC和经典)
  • 形态

停产的1.0版本还支持摩托罗拉680x0。

拉撒路 是一种开源跨平台IDE,为Pascal和Object Pascal开发人员提供了Delphi-Mimic开发体验。它是为自由Pascal编译器开发和支持的。 Lazarus可用于Microsoft Windows,几个Linux发行版,FreeBSD以及Mac OSX。

Lazarus

使用.net, 单核细胞增多症, GTK#, 单调android的单声道 您可以使用任何.NET语言到达绝大多数平台,并在每种语言上都有一个本地的UI。

  • .net会让你
    • asp.net的网络
    • Windows和Mac上网络的Silverlight(Mono的Moonlight也可以让您进入Linux!)
    • Windows Phone的Silverlight 7
  • 带有GTK#的单声道会让您
    • MAC OSX
    • Linux
    • 也许其他人,但看起来不太本地。我听说有些人与Mono一起在Wii上获得了。 。 。
  • iPhone,iPad等的单调触摸。
  • 单迪特的Android
  • 黑莓.NET - 首先,我听说过,但是他们在黑莓上说.net,我假设使用QT。

无法想到您在那里缺少的任何其他主要平台。你?当然,这指出了您可以用来针对所有这些平台的框架。我会让你选择语言。 C#,氧气或VB.NET是.NET上最受欢迎的。 Oxygene(包括在Delphi Prism中)具有与Delphi Anitial在本地Windows开发中部分兼容的额外好处,但是如果您想使用Ironruby或F#,我们将不会阻止您。

您可能想看看 http://www.phonegap.com/

您所详细介绍的应用程序听起来很简单,而且我个人不喜欢位于本机平台上方的层,但是这可能非常适合您。

编辑:这个问题的本质似乎有所改变。

听起来这是正确的移动平台吗?在这种情况下,您几乎是不幸的,因为没有语言可以统治所有语言。有些产品可以将解决方案交叉到另一种方案(例如 http://www.xmlvm.org/android/)但是,除此之外,您还必须使用母语/环境。

嗯,怎么样 哈克斯?您现在可以针对许多平台,如果您了解OCAML,您可以免费为您喜欢的任何新后端写一个新的后端。

最近阅读了Netflix如何使用HTML5部署到400多个平台。 绝对值得一读。

通常,我不会尝试使用一种语言。在公司,我在我们的工作中使用各种语言和技术。就像您使用合适的工具一样,它是为了将正确的语言用于合适的工作。我不会使用螺丝刀锤击指甲,就像我不会使用锤子更换汽车的凸耳螺母一样。

Livecode / Runtime Revolution

在Mac,Windows和Linux上部署,并为其他各种平台制作独立软件。

使用C#.NET,您可以使用Mono(For Android),Monotouch(for Apple)和BlackBerry.net使用C#.NET本地部署到任何主要的移动平台(与HTML 5个平台(例如PhoneGap)一样差异很大)。

Microsoft的语言和平台得到了许多寻求该技能的雇主的支持。如果您没有完全出售,只需访问您喜欢的技术工作网站,然后开始在搜索框中插入不同的语言/平台。您将了解要采取哪个方向。

Adobe Flash/Flex

(不确定您的问题是否被排除在外)

在几乎所有浏览器,大多数移动平台以及空气,大多数桌面平台中运行。

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

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

许可以下: CC-BY-SA归因
scroll top