V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wwlweihai
V2EX  ›  问与答

求指教,用 HTML5 开发安卓应用,工具怎么选。

  •  
  •   wwlweihai · 2014-09-10 10:08:13 +08:00 · 6705 次点击
    这是一个创建于 3709 天前的主题,其中的信息可能已经有所发展或是发生改变。
    详细介绍下,本人有java后台开发的基础,现在有需求开发安卓和苹果的APP,得知HTML5可以实现,而且维护方便,请问大家,我该如何选择开发工具和学习路线!
    23 条回复    2014-09-10 13:34:31 +08:00
    itcook
        2
    itcook  
       2014-09-10 10:27:14 +08:00
    Hybrid app 框架有 Sencha Touch, Phonegap 等;

    还可以用纯 Single-page application 框架结合 WebView 搭建,如 AngularJS, EmberJS 等。

    另外整合和扩展了 AngularJS 的 ionic 也不错: http://ionicframework.com

    只是提供基本思路,我也没有深入研究。
    itcook
        3
    itcook  
       2014-09-10 10:32:49 +08:00   ❤️ 1
    光 HTML5 是不够的,觉得 Javascript 始终是绕不过去的。当然 UI 方面还要 CSS 来帮忙。










    所以最后……恭喜你变成大前端!
    janwen
        4
    janwen  
       2014-09-10 10:36:41 +08:00
    @itcook 通过html5开发就不用原生APP了?
    wwlweihai
        5
    wwlweihai  
    OP
       2014-09-10 10:44:38 +08:00
    @itcook 有相关的教程吗?
    wwlweihai
        6
    wwlweihai  
    OP
       2014-09-10 10:45:05 +08:00
    @janwen 据说,可以。但是性能不如原生的好!
    wadezhao
        7
    wadezhao  
       2014-09-10 10:48:44 +08:00   ❤️ 2
    用HTML5进行混合开发,可以分两部分,一是要有个UI框架,比如IAF,JQueryMobile,iScroller等等;二是要有个打包器,常见的就是PhoneGAP和Sencha。

    UI创建我推荐IAF,以前叫JQ.Mobi,兼容jquery语法,性能好,现在被Intel收购,改叫IntelApplicationFramework了
    打包器最常用的就是PhoneGAP,Sencha没研究过,不知道是否要结合它自己的UI框架来用,它是基于EXT JS框架的,语法比jquery要晦涩很多,很庞大,性能很差,但是兼容性和精致度要好

    想快和功能多的话,推荐国内的AppCan,它有自己的编辑器和打包器,扩展出来的API也比较多,有点像国产汽车,单看参数,是非常好的,就是一些细节不够稳定,以前我强力推荐,但是后iOS7出来它很久不能适配,渐渐没再关注,不知道现在发展的如何了。


    如果javascript水平很好,可以看看Titanium,跨平台js开发,相当于用V8引擎(iOS下用苹果内置引擎)将js解释了,再调用原生代码去执行,控件是真正原生的,性能和功能都不是混合开发能比的,不想学原生的javascript高手首选。
    itcook
        8
    itcook  
       2014-09-10 10:50:42 +08:00
    @janwen 其实一楼 @Fatcoder 给的 cordova 我觉得就是个打包工具:把 web app 打包成「原生」app……


    @wwlweihai 其实我是个产品汪……完全还没达到可以 coding 出成品的高度,只是凭着有点前端基础粗略地了解了下 AngularJS 和 ionic, 这两个的官网都提供了教程。
    itcook
        9
    itcook  
       2014-09-10 10:56:07 +08:00
    @wadezhao 是高手

    也关注过 AppCan, 当时的文档相当不规范,都没细看就先 pass 了。

    Titanium 个人觉得有点重,所以后来最关注的是 ionic
    belin520
        10
    belin520  
       2014-09-10 10:58:39 +08:00
    这个 Demo 我觉得对你会有很大的帮助
    https://github.com/BelinChung/HiApp
    Shared
        11
    Shared  
       2014-09-10 11:00:55 +08:00
    @itcook 现在的项目是用 AngularJS + Ionic 做前端的,实话实说,AngularJS 很棒,但是很复杂。Ionic 就比较业余,到目前为止还没出正式版,而且真心不咋好看,提供的动画效果也很糙。

    希望有 AngularJS 的高玩能介绍下适合 AngularJS 并且针对移动应用的前端框架,不需要路由功能、就只提供动画和 UI 就好了
    wadezhao
        12
    wadezhao  
       2014-09-10 11:02:07 +08:00
    @itcook 我从上手Titanium之后就没再研究过混合开发了,ionic对我来说是新的,所以没有研究过。ionic说到底还是一个HTML5框架,Ti其实和他们都不一样,事实上Ti几乎和所有其他第三方开发都不一样,他这种类似Basic的解释执行方式,是独一无二的。其他的MonoTouch和Delphi,最后应该还是编译成本地的代码。
    Shared
        13
    Shared  
       2014-09-10 11:02:07 +08:00
    @wadezhao 回帖的时候没看到你的回复…想问下 IAF 能和 AngularJS 无缝配合吗?
    wadezhao
        14
    wadezhao  
       2014-09-10 11:05:27 +08:00
    @Shared 呵呵,你又少看我一楼回复。我已经很久不研究混合开发了,AngularJS也没有什么研究,抱歉了~~~不过简单Google了一个AngularJS,我猜IAF是没办法和它兼容的,另外IAF性能好、提供的插件多,是我那时研究的结果,也许现在已经有后起之秀了呢~~
    guolei1998
        15
    guolei1998  
       2014-09-10 11:20:40 +08:00
    我用过Mosync加appframework还觉得不错。
    alex321
        16
    alex321  
       2014-09-10 11:24:02 +08:00
    dcloud 出品的 hbuilder 似乎不错,内置了 html5+ 框架什么的。
    itcook
        17
    itcook  
       2014-09-10 11:27:23 +08:00
    @Shared 我关注框架的 feature 和实际的开发人员差别较大,或者说我对框架的理解深度还没达到真正的程序员的深度,我关注的是:

    - 前端逻辑实现是否方便
    - 常用 UI 组件是否完备和可扩展
    - touch event 是否完备和易调用
    - animation 多样性和可配置

    说白了我是找一个 mobile app 的高级原型制作工具,只是玩,而不是作为实际 app 的生产工具。所以基于我的需求目前 ionic 还算比较满意的,只是这玩意儿的发展方向确实还不太明朗的感觉,不过已经比起之前了解的 framer.js 好太多了……
    Shared
        18
    Shared  
       2014-09-10 11:33:06 +08:00
    @wadezhao V2EX 应该增加即时回复的功能 :)

    我并不是要开发 hybrid 应用,就只 HTML5 single-page app 而已。我用 AngularJS 有段时间了,最大的感受是 AngularJS 确实很强,对似乎并不太重视移动开发这边,主要还是倾向于开发桌面应用。所以开发的时候各种不顺手。

    也许 IAF 和 @belin520 用的 Framework7 是更好的选向。
    janwen
        19
    janwen  
       2014-09-10 11:40:26 +08:00
    对于我们这却ios开发人员来说,如果能用html5包装一下,那真能省钱啊
    omi4399
        20
    omi4399  
       2014-09-10 12:41:42 +08:00
    JQueryMobile + PhoneGAP 最佳选择,还可以在线打包
    Fatcoder
        21
    Fatcoder  
       2014-09-10 12:49:44 +08:00   ❤️ 2
    @itcook 呵呵,Phonegap 只是 打包工具.. @wwlweihai 以webapp来说,除开要(兼容手机尺寸,选择一些手机端的控件,页面设计也要以移动的用户习惯为主),其他的与传统的网页开发。关于hybrid应用,其本质是以js接口能与原生通讯,而打包只是工具提供了一个快速集成的功能而已,撇开phonegap自带的接口不说,根据业务需求你需要自己写一些插件,做商超要用到条形码,就需要用摄像头,如果做阅读软件,就需要用到TTS接口,各平台内一键升级 等等。这些都是需要自己写插件的,本质还是原生来实现。关于HTML5性能,不佳这个问题,只能说是每个程序员开发出来的应用水准不一样,如今手机基本都支持硬件加速,Intel 收购 jqmobi以后在芯片中也对HTML5提供了很大的支持,jqmobi这框架剔除他的UI,自己重写的话,在700左右安卓手机运行没压力,iPhone中感觉不出是hybrid app,类似jqm,Sencha之类的框架太重,自己学习的时候可以看看,真的到项目还是要衡量一下。框架推荐你可以看看: http://app-framework-software.intel.com/http://zhaoda.net/spa/docs/ (目前微视的mobile站点实用的),这些框架都是比较轻量级的赵达的那个框架可能需要一定的js基础,需要慢慢来,还有一些知识站点https://github.com/jtyjty99999/mobileTech 没事可以看看, 加油, 我也是以前java转过来的 :)
    wwlweihai
        22
    wwlweihai  
    OP
       2014-09-10 13:24:50 +08:00
    @Fatcoder 谢谢。文章里面的链接非常有用,哎。公司太小,现在没活干,以前没做过前端的东西,一直是搞后台的,现在学习学习,自己写个东西玩玩!
    rupert
        23
    rupert  
       2014-09-10 13:34:31 +08:00
    推荐 Ionic, 一般功能够了
    如果希望动画效果和原生 App 一样或者差不多,可以用 Famous, http://famo.us/demos/PHQ4

    ============
    顺便打个广告,我们在招个前端用Ionic 做 Ios 开发
    http://www.v2ex.com/t/131488
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3077 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:34 · PVG 21:34 · LAX 05:34 · JFK 08:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.