V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linfaxin
V2EX  ›  程序员

无需微信小程序,开发一个高性能高体验 WebApp

  •  
  •   linfaxin · 2016-10-04 20:19:25 +08:00 via Android · 6394 次点击
    这是一个创建于 2751 天前的主题,其中的信息可能已经有所发展或是发生改变。
    借着微信小程序大热,赶紧安利一下自己开发的框架。
    先上官网: http://androiduix.com
    再上 demo : http://androiduix.com/showcase/widget_sample/index.html
    再上起步教程: https://github.com/linfaxin/AndroidUIX/wiki/%E4%B8%AD%E6%96%87_1.-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B

    然后说几个重要优点:
    1. 高体验。体验上应该是远超目前主流 WebApp 的,可以手机打开 Demo 自主体验。
    2. 组件能力。这个也不谦虚,因为完整移植的 Android 的一套 UI 组件,从体验上,易用性,稳定性,可定制性等等都是一流的。
    3. 对 Android 开发友好。因为框架移植自 Android ,公司的 Android 开发就可以很低的学习成本上手。

    再说说缺点吧:
    1. 因为要学习一整套 Android UI 的 API ,同时开发方式也是完全不同于以往的开发方式,对 Web 开发者来说还是有不小上手成本。
    2. 个人维护的框架,精力有限,可能不可靠?(请保持信心,也希望有能力的同学们多提一些 issue 和 pr)

    最后:开发框架费体力,求 star : https://github.com/linfaxin/AndroidUIX
    24 条回复    2016-10-05 10:33:13 +08:00
    sherlocktheplant
        1
    sherlocktheplant  
       2016-10-04 20:23:33 +08:00
    如果支持 ios 就是个好框架了
    linfaxin
        2
    linfaxin  
    OP
       2016-10-04 20:27:52 +08:00 via Android
    @sherlocktheplant 只是框架的 api 与 Android 一致,开发出来的 WebApp 是支持 iOS 的。另外 iOS 的 UI 不开源,所以没有办法做完整移植工作
    sherlocktheplant
        3
    sherlocktheplant  
       2016-10-04 20:34:56 +08:00
    @linfaxin 不用移植 ios 的 UI 框架 用 ios 的绘图框架 实现 canvas 就行了
    linfaxin
        4
    linfaxin  
    OP
       2016-10-04 20:43:07 +08:00 via Android
    newbieo0O
        5
    newbieo0O  
       2016-10-04 20:43:23 +08:00
    WebApp 太卡了,并不看好。 RN 我认为只是昙花一现。
    linfaxin
        6
    linfaxin  
    OP
       2016-10-04 20:47:05 +08:00 via Android
    @sherlocktheplant 现在框架完成的事情是使用
    js 语言 + Android api ,所有的代码都是 js 的,最后渲染在浏览器上。所以仅仅实现 canvas 是不是还不够
    linfaxin
        7
    linfaxin  
    OP
       2016-10-04 20:50:25 +08:00 via Android
    @newbieo0O 体验一下 Demo ,目前在我的米 4 上可以接近 60fps 运行,米 5 和 iphone 上基本是满帧运行
    sherlocktheplant
        8
    sherlocktheplant  
       2016-10-04 20:53:07 +08:00
    @linfaxin 那你这个已经很不错了! 如果 canvas 层可以脱离浏览器 性能应该可以更好 不过既然可以达到 60FPS 已经够了

    已 star

    但是实战项目我估计还是会用 ReactNative 主要是 js 接本地 API 这一块 ReactNative 做得很完善
    linfaxin
        9
    linfaxin  
    OP
       2016-10-04 21:00:54 +08:00 via Android
    @sherlocktheplant 懂我!
    在 Android 端已实现 canvas 层脱离浏览器的实现:
    https://github.com/linfaxin/AndroidUIRuntimeAndroid
    另外因为使用了 webkit 的 api ,这些 api 的脱离也在计划中,脱离后就可以无需浏览器渲染页面了。
    ClassicOldSong
        10
    ClassicOldSong  
       2016-10-04 21:00:59 +08:00
    我记得老早以前有个 Android 4.x 的前端 UI 库来着,名字忘了
    顺便这个 Demo 在=4 上掉帧严重
    下拉回弹这种东西在 Android 上十分不合理,如果流畅点还好可惜掉帧啊 233

    另外为何还是 4.x 的 UI !! MD 都出来这么久了!!!
    linfaxin
        11
    linfaxin  
    OP
       2016-10-04 21:02:47 +08:00 via Android
    @sherlocktheplant 这个框架接本地 api 的话就要用 phonegap 或者公司自己的 Hybrid js api ,我觉得都是可以接受的。
    linfaxin
        12
    linfaxin  
    OP
       2016-10-04 21:08:04 +08:00 via Android
    @ClassicOldSong 现在的主流安卓机应该也能接近满帧滑动的,=4 的机子都有点古老了吧。
    2. 1 年多年开始做的移植工作,当时 Android6 也才出来,国内还是 Android4.4 多,就定的移植的这个版本。
    不过 md 的版本后面再移植也是完全有可能的
    linfaxin
        13
    linfaxin  
    OP
       2016-10-04 21:11:58 +08:00 via Android
    @ClassicOldSong 下拉回弹是修改的部分源码实现的,也可以使用 sertOverScrollMode 关掉
    ClassicOldSong
        14
    ClassicOldSong  
       2016-10-04 21:15:44 +08:00
    @linfaxin 1+3=4
    sherlocktheplant
        15
    sherlocktheplant  
       2016-10-04 21:31:06 +08:00
    @linfaxin 最好直接用 openGL 或者直接用 SDL 这样的库实现一次 canvas 这样比较好移植到所有平台
    sobigfish
        16
    sobigfish  
       2016-10-04 22:52:34 +08:00 via iPhone
    阿里有个 weex 是和 react native 类似的技术的 只是 web app 的话 vuejs 啊
    linfaxin
        17
    linfaxin  
    OP
       2016-10-05 00:05:50 +08:00 via Android
    @sherlocktheplant 好建议,当时花时间找过类似的库,最终未果。后面有机会再尝试
    linfaxin
        18
    linfaxin  
    OP
       2016-10-05 00:10:41 +08:00 via Android
    @sobigfish 和 weex 有一定竞争关系。 vuejs 等前端框架还是没有解决用户体验问题。
    indooorsman
        19
    indooorsman  
       2016-10-05 01:09:31 +08:00 via Android
    官网的 showcase 非常卡… nexus 6p
    linfaxin
        20
    linfaxin  
    OP
       2016-10-05 01:11:37 +08:00 via Android
    @indooorsman 尝试帖子里的开头的 Demo 地址
    chemzqm
        21
    chemzqm  
       2016-10-05 02:17:25 +08:00
    小程序优势就是跨平台,低成本,至于高性能高体验最多限于非常简单的程序,因为小程序内部整套通讯流程都是特别耗性能的。
    faywong8888
        22
    faywong8888  
       2016-10-05 06:50:54 +08:00 via Android
    赞一个。这个样式实现得跟 native 好像!
    ragnaroks
        23
    ragnaroks  
       2016-10-05 10:18:35 +08:00
    mx5,节能模式,普遍 60fps-,特别是 view pager 这个,只有 50fps
    linfaxin
        24
    linfaxin  
    OP
       2016-10-05 10:33:13 +08:00 via Android
    @ragnaroks 表现在预期中,我这边米 4 表现也在 50fps+,米 5 可以达到接近 60fps 。 viewpager 这个我会抽空着重看一下有没有优化的点。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1010 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.