即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

Hero框架——移动开发10大问题的应对之道

微信 点融黑帮 30℃ 0评论

笔者做移动开发粗略算来将近10年了,从 j2me,windows mobile,到android,iOS,到如今的大前端,很荣幸完整的经历了移动开发行业从起步到如今的巅峰盛世。

走过移动开发的10年之路,笔者不禁想写点东西来总结过去,也期翼能看清前路。

问题总结

只要身处移动开发行业,不管哪个部门,你一定对以下的至少一句深有感触。

 

平台多

开发成本贵

速度慢

错过商机叹

体验差

客户丢失懵

运营难

依赖技术囧

BUG多

测试奔命疲

迭代慢

开展业务难

危险多

黑客敲诈怒

人难招

马路拉人苦

不稳定

商誉扫地傻

数据少

两眼茫茫盲

.

当我们遇到以上这些问题时,我们总是先来看看时下流行的框架是如何解决以及它们各自存在的问题。

  • Ionic
    这是一个纯 H5 的方案,设备 API 的调用依赖 Codova 这个库,所以具有完整的设备能力。在一个有情怀的软件开发人员眼里,web 永远是海上的灯塔,所谓的 app 不过都是到达灯塔前的苟且。我也曾这样想,现在觉得,为了眼前的最好,苟且一下又何妨。

  • 小程序
    虽然小程序也可以跨平台的做大部分前端业务,但是还有更多的设备 API 并未开放,限制很大。而且小程序最大的问题是一个商业选择,这里就不再深入讨论。

  • RN && Weex
    这可以说是目前最流行的解决方案了,从笔者自身的体验上来说,我花了很长时间才入门,并且感觉难以深入。很多做 web 开发的人可能会觉得挺顺手的,入门很容易,这是因为 RN 和 weex 都是前端演化过来的方案,技术栈比较对口。但是用 web 开发的思路去做 app,可能只是把浏览器的 Div 渲染变为原生的 View 渲染,所谓更好的体验,便无从谈起了,要是再去熟悉 iOS 或 android 的所有控件的属性与用法,那又会很难了。

Hero 的解决之道

1.1.

1.1.而现在我们有了 Hero。Hero 移动开发方案源起于点融网 LB 业务部门的尝试,是在点融黑帮文化中发展出来的一个业界领先的开发方案。Hero是如何做到简单、易用的?请见以下几点:

1.1.1)Hero 极简的架构

1.1.

1.1.JS Page 是一个只有 JS 代码的标准 HTML 文件,Hero 框架会从中解析出两个对象,分别为 UI 和 Hero。UI 对象扔给不同平台后会得到相同的现实效果,而 Hero 对象会处理一些数据后单向的发送数据给 UI 元素。

1.1.

1.1.

1.1.2)Hero 的核心理念

1.1.

1.1.任何一个功能元素有且只有一个接口与外界交换数据,每一个元素都是独立无依赖的,它们在界面上的表现与行为只与它们接收到的 JSON 数据有关。

3)对炫酷技术的引入相当克制


Hero 一般只使用语言最基础的语法,和最基础的工具类,所以哪怕是入门开发者也能流畅的阅读 Hero 源代码。

1.1.Hero 是一个能解决以下10大痛点的简单、易用的移动跨平台开发框架:

1.1.1.1.

1)跨平台,成本低,CFO 笑呵呵
Hero 中元素名称和属性的定义是统一的,布局也是一致的。使用 Hero 框架做的页面,在不同平台上表现是一致的。

2)速度快,市场打入快,CPO 奖金多
Hero 使用最简单的 JSON 来描述页面,开发的时候可以即时的看到布局的结果,熟悉了就像写 Word 文档一样,所见即所得。而且一次开发,任意平台上都可运行,速度非常快。

3)体验好,用户不离开,CEO(首席体验官)很有面
Hero 中的基础元素与 iOS 的基础元素保持1:1对应,而且这些元素100%的运行在原生系统中,体验流畅一致。

4)运营容易,COO 很给力
Hero 页面就是标准的 HTML 页面,随时随地想改就改。

5)BUG 少 CQO 不背锅
Hero 页面中,逻辑是统一的,简单的,就只是给界面发送数据。业务上的 bug,也只可能在 HTML 页面中,所以不用各个平台都测试一遍。

6)迭代快 CMO 绩效好
如果有一个元素原生没有实现,业务又需要快速更新,那么 Hero 也支持在 JSON 中把这个复杂的元素。先用简单的线条、图片先布局出来,等原生支持这个控件元素之后再改为使用原生控件简化 JSON 描述。修改 JSON 都是可以即时生效的。

7)更安全 CSO 睡眠好
传统的安全主要是网络攻击之类的,但是移动开发领域还有一个更大的风险是轮子的滥用。Hero 中唯一依赖的东西就是浏览器,并将所有安全风险与浏览器绑定,因为我们认为哪怕浏览器是一扇烂门,但是它是由 W3C 把守的,而且是不能关闭的一扇门,而那些轮子本来就在门内,再引入更多安全轮子也无济于事。

8)招人容易 CHO 不熬夜健身去
Hero 框架的目标人群定位在初级程序员,当然这不是说使用 Hero 框架的都是初级程序员,而是程序员放下很多页面开发的重复劳动之后可以做更加高级的事情。

9)稳定性高 COO(首席运维官)要超神
Hero 的稳定性依赖于它独特的设计,元素与数据的适配模式。如果适配失败,最多也就是没有用到某个功能,永远不可能导致崩溃之类的结果。

10)数据完整,可回放 CDO 要啥有啥
在 Hero 的框架中,任何界面、数据、操作都会通过一个路由管道,如果你把管道数据保存下来,就可以回放用户界面变化,与用户操作。这些数据的完整性、可用性要比友盟、Growing IO 之类的要好很多,甚至通过一些加密、关联、区块链的技术,这些数据在一些交易应用中可以做为证据使用。

1.1.

小结

早在前年,笔者在文章《web 与原生的撕逼大战》中谈到期望做一个兼具 web 和原生所有优势的框架,于是便有了 Hero 框架。


Hero 期望做一个简单、易用的移动跨平台开发框架,我们还在继续改善 Hero 的开发体验。如果你对这个项目感兴趣,欢迎与我们取得联系。


Hero 源码:https://github.com/dianrong/hero或点击阅读全文进入



本文编译::刘国平(点融黑帮),点融工程部 Client team 资深软件开发工程师,跨平台开发框架 Hero 作者,是最早的一批移动开发者。


转载请注明:CodingBlog » Hero框架——移动开发10大问题的应对之道

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情