有什么不错的环境可以开发一款跨平台又靠谱的app?

2012-04-04 18:14:59 +08:00
 sdjl
请问, 如果要做一款质量不错的app(体验, 性能, 稳定), 需要在ios和android上都可以很好的运行, 有什么不错的解决方案?

再问, sencha monotouch titanium 这些东西靠谱么? 他们的优缺点各是什么?

主要是从节约开发时间的角度来考虑, 但是又必须保证开发出来的app质量高, 这个app会在短时间内有上万用户使用的(如果你有兴趣, 也可以给我们发邮件, 外包合作的方式).
16498 次点击
所在节点    iPhone
47 条回复
gonghao
2012-04-04 18:16:45 +08:00
难道不是 PhoneGap,虽然没用过,但是最近比较火的就是这货哦~
http://phonegap.com/
sdjl
2012-04-04 18:17:44 +08:00
听说了 但是听说这个东西是封web的, 体验上不够快, 是么
@gonghao
ohdarling
2012-04-04 18:23:59 +08:00
可以考虑 Titanium。

MonoTouch 需要 $399 的授权,Titanium 是免费的。PhoneGap 本身需要结合 Sencha Touch、jQTouch 或者 jQuery Mobile 使用,PhoneGap 只封装了 API,没有界面。

Titanium 会映射成本地代码控件,性能更好一些。

如果没有熟悉 Titanium 的人,并且已经有 iOS 和 Android 开发的话,还是推荐直接开发原生的。
smallcolor
2012-04-04 18:24:14 +08:00
一款app既要在iOS又要在Android上同时运行,那只能是web app咯;但是又要求时间短质量高,根据以往的经验,那就必须是开发两套,各自系统的原生app.
gonghao
2012-04-04 18:25:02 +08:00
但是目前来看,最快的跨平台解决方案就是 Web,不过 PhoneGap 的体验肯定是要由于普通 Web 的~关键还是看需求和成本了~
sdjl
2012-04-04 18:30:32 +08:00
@ohdarling Titanium 会映射成本地代码控件,性能更好一些 可以理解为性能上能够和原生开发聘美吗? 听说titanium是用js来写? 是只用js就可以么?

既没有熟悉Titanium的人, 也没有app的开发经验... 只有web的~~
sdjl
2012-04-04 18:31:17 +08:00
对了 我的邮箱是 sdjllyh#gmail.com
sdjl
2012-04-04 18:31:59 +08:00
@smallcolor 质量高是优先考虑的
eickegao
2012-04-04 18:53:30 +08:00
monotouch可以。其他的用web技术实现的跨平台都有这样或者那样的问题。

比如如果你要做比较复杂的需要同步通讯等功能的APP,用web技术就比较难实现。

用monotouch的好处就是基本上面native app可以实现的功能,它都可以实现。
leiv
2012-04-04 19:04:27 +08:00
Adobe air可以,不用Flex框架单纯的用AS写效率很不错的。开发工具也很完善。我之前用它写了一个ios的应用,性能完全可以接受的。
Semon
2012-04-04 19:07:57 +08:00
Titanium Mobile +1
代码效率比PhoneGap高很多,强烈推荐
sdjl
2012-04-04 19:09:48 +08:00
@leiv 谢谢, flash的暂时不考虑, 主要是我们对flash的方面的东西不了解
sdjl
2012-04-04 19:10:27 +08:00
@Semon 谢谢, 那么比起原生的写法, 有哪些缺点呢?
sdjl
2012-04-04 19:13:04 +08:00
@eickegao 是的, 其实我的一个主要问题就是这些frame是不是都或多或少有些这样那样的问题.

monotouch 是用c#写的么?
eickegao
2012-04-04 19:17:56 +08:00
monotouch是C#的。monodroid也是。其实就是C#
调用原生API。
eickegao
2012-04-04 19:20:11 +08:00
另外还有一种跨平台方式。就是把逻辑层放在C++里面实现。

ios是OBJ-c加上C++
android是JAVA加上JNI和C++

这样也可以同样跨平台
eickegao
2012-04-04 19:24:54 +08:00
进一步扩展刚才的话题,我实现过一个项目。C++层使用POCO等基本类库,比如HTTP啥的,

取得的结果以CALLBACK方式返回OBJ-C

在ANDROID里面以CALLBACK方式返回JNI层。然后JAVA再调用JNI。

这样做的好处是所有程序都是原生程序。但是同用一个逻辑层代码,你所需要单独实现的代码就是UI界面,但是比较MONOTOUCH和这种方式,我个人更推荐MONOTOUCH。

因为我用MONOTOUCH也实现过类似的功能,节省的代码和时间是相当可观的。
ohdarling
2012-04-04 20:28:32 +08:00
@sdjl 性能上比 PhoneGap 这样的 WebApp 好,但是比 Native App 差。如果只有 Web 开发的话,可以优化一下 Web App,不是密集计算类型的 App 的话,Web App 的表现也可以接受。
ohdarling
2012-04-04 20:31:51 +08:00
@sdjl Titanium Mobile 是用 JS 来写的,没有 HTML,控件样式可以用一部分 CSS。
sdjl
2012-04-04 20:53:56 +08:00
@eickegao 谢谢回复, 我倒是用过一段时间c#, 不过已经不想用windows来开发了, 现在主要用python 如果是我自己开发的话可能比较先考虑脚本语言, 不过如果是交给别人开发的话可以考虑这个方案 主要是找到合适的人了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/31323

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX