Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我为什么要研究Hybrid App #78

Open
youngwind opened this issue Jul 22, 2016 · 1 comment
Open

我为什么要研究Hybrid App #78

youngwind opened this issue Jul 22, 2016 · 1 comment
Labels

Comments

@youngwind
Copy link
Owner

youngwind commented Jul 22, 2016

前言

从去年4月份学习前端开始到今年6月,已经有1年2个月的时间了。在这段时间当中,开发的基本上都是PC端的项目,移动端相关的接触甚少,最多也就做一些移动端的专题页而已。渐渐地我开始反思并得出结论:“一味地只研究PC端,未来的路终究是会越走越窄的。”

后知后觉

人才市场的变动要落后于商业需求的变动
现如今之所以有大量的web从业人员,其原因是自90年代开始兴起的个人计算机与互联网。可以想象,当年互联网刚刚兴起之时,懂web开发的人简直就是凤毛麟角。很多人都是后来看到这个行业发展得很好然后再选择入行的。这道理就像是**“当nodejs大行其道之时你才开始学习node,其实你已经比那些node先驱落后很多了”**要想比别人走得更快,需要有前瞻的眼光和勇气。

PC不再是主角

PC端的web发展至今,各方面的理论与实践已经愈加成熟,这方面的牛人也是汗牛充栋。在一个已经被充分研究的领域想要取得进一步的突破,难度是很高的。
各方面的现象和数据都表明:移动端正在取代PC端。一个最直观的感受就是:“我们已经更加倾向于用手机购物了”。无论是现在的移动化浪潮,还是未来的可穿戴设备,虚拟现实等等,其共同点都是:PC不再是人们生活中的主角了。

Native与web

身为一个web前端,难道需要我放弃web从事安卓或者ios开发吗?从沉没成本的角度看,这不是一个好的决定。还好,现实当中不需要我做这样的取舍,因为现在(以及未来)的移动端开发必然是Web和Native的深度结合。 在webapp、phoneGap、react-natvie这些概念兴起的时候,我曾以为web可以取代Native,后来才发现其实自己是犯了“先入为主”的错误。 就好像是这样的一个段子:“搞java后端的快被搞nodejs抢掉饭碗了。” 凭什么要用web取代native呢?web和native各有所长,深度融合才是现在(以及未来)发展的方向。其中Hybrid就是一种很好的模式。 包括以后可能会成为主流的可穿戴设备与虚拟现实,web肯定会在其中发挥重要的作用,但绝不是唯一的。

移动端架构师

当一个事物发展到足够复杂的时候,就需要一个架构师了。
以前传统的架构师是那种要精通前端和后端的。但是,随着技术的不断发展,前端本身也变得越来越复杂了,特别是在移动端。我觉得未来(或者现在)会需要这样的一种人:**他们既懂得Native的开发,也懂web的开发,更加会将这两者平衡好,寻找实现商业需求的最佳路径。我称他们为移动端架构师,我现在的目标也是这个。**目前有一些职位跟这个有些相近,比如H5资深工程师,移动端资深工程师,不过他们必须具备对方互补的技能才能统领全局,成为移动端架构师。

寻找志同道合之人

目前我在Hybrid App的学习也是刚刚起步,研究过的主要包括这两个方面:

  1. 探索JSBridge JSBridge实现原理探索:以toast为例 #76
  2. 开发一个简单的安卓新闻客户端

正在研究的是:web资源离线更新机制

最后,如果你也正在研究Hybrid App,欢迎一起交流沟通。你可以留言或者直接邮箱联系我。

@lip8up
Copy link

lip8up commented Apr 20, 2018

通过 Google 搜索到你的文章,我也是一个前端工程师,最近在研究 weex,不知道你现在的观点,与两年前有什么变化?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants