唐巧专访:用 HTML5 写移动应用终究不会成为主流

2016-10-12 14:00:15 +08:00
 hushuqi
小编语
本文为 DevLink 专访系列,本期采访嘉宾是 iDev 苹果开发者大会特约出品人、小猿搜题产品技术负责人——唐巧。在参加 iDev 苹果开发者大会前夕,这位资深 iOS 开发者接受了 DevLink 的采访,分享了一些他自己的感悟,也为我们介绍了这次大会的主要看点。

唐巧,现在在猿题库公司创业,担任小猿搜题产品技术负责人。他有 5 年移动互联网从业经验,曾在网易用 Java 开发过网易邮箱和网易微博后台;转做 iOS 后,参与开发过有道云笔记、猿题库和小猿搜题的 iOS 版。

唐巧是圈内知名的资深 iOS 开发者,他独立撰写了技术图书《iOS 开发进阶》,半年畅销 15000 册,同时也是 InfoQ 的技术编辑。维护了iOSDevTips 微信公众号,运营 3 年获得了 9 万的订阅量。

以下为采访内容,提问者:DevLink,受访者:唐巧。

1、唐巧老师您好,能否简单的介绍一下你自己?

大家好,我叫唐巧,是一个 iOS 开发者,来自在线教育创业公司猿辅导。我同时是 InfoQ 的兼职编辑,《 iOS 开发进阶》一书的作者。我曾经开发过有道云笔记、猿题库、小猿搜题的 iOS 客户端。

在工作之余,我也喜欢写作与分享,我在微博(@唐巧_boy )和微信公众号( iOSDevTips )上总共拥有超过 9 万的关注。

2、作为这次 iDev 苹果开发者大会的出品人,能否聊聊您是如何设计本次大会的议题的?

今年 iOS 的话题其实集中在 Swift 语言、函数式编程、跨平台方案,所以这方面的话题本次大会都有涉及。另外 iOS 安全一直是被人们较为忽视的一个方面,本次大会我在这方面也特别有设计议题讨论。

考虑到 iDev 大会希望涉及苹果全平台的技术,所以本次大会我们也安排了关于 macOS、watchOS 和 HomeKit 的议题。

其实参加技术会议的主要作用一是开阔眼界,二是社交,我希望这些内容能够让大家看到一些以前没有接触过的内容,从而可以进一步学习研究。

3、本次大会主要关注哪些技术点?为什么您觉得这些技术点需要被关注?

刚刚也提到,本次大会主要的关注点包括 Swift 语言、函数式编程、跨平台方案、安全以及全平台技术。

关注 Swift 语言、函数式编程、跨平台方案主要是由于这些内容是今年的热门话题。关注安全主要是因为这个领域总是被大家忽视。

关注全平台技术,是希望让大家能够开阔眼界,多了解一些苹果相关生态的东西。

4、近段时间以来,关于微信小程序即将取代 Native App 的观点越来越多,作为一名 iOS 开发者,您是如何看待这个观点?

微信小程序利用的技术方案类似于 React Native ,所以既可以利用 JavaScript 的更新方便的优势,又可以呈现出完美流畅的交互体验。我觉得微信的小程序是可以在很多中低频应用中获得优势,因为这些应用无需安装,非常符合张小龙说的“用完即走”的想法。

但是,微信小程序提供的交互和技术能力还是不能和原生的程序相同,加上所以高频应用应该不太适合在微信小程序中使用。

5、我们注意到,本次会议也会聊到 React Native 方面的话题,尽管 React Native 还有很多坑,但您觉得类似的跨端开发技术能否最终可以成为一个可以选择的、成熟的开发模式?

我觉得 HTML5+JS 方案可能变成熟,但不太可能成为主流,主要原因是:

1、优秀的前端工程师比优秀的客户端工程师更加稀少。

2、即使使用 HTML5+JS 的方案,也需要了解不同平台的差异和特点。在这方面,HTML5+JS 其实没有优势。

6、以个人技术成长经历看,您是如何一步一步成为iOS 开发领域的“大 V ”的?能否给大家分享一些经验?

其实我是一个挺努力的人,我之前也分享过,我把周末和晚上的时间都用来研究 iOS 开发技术,以及写相关的分享文章。

同时我也是一个幸运的人,赶上 iOS 开发刚刚在国内火的时候就学习,文章有机会被大家搜索并传播。

7、对身处苹果生态链的一线开发者有什么要说的么?

当前的一线开发者其实在经历一场阵痛,一边是历史遗漏的大量 Objective-C 代码,一边是快速演进的 Swift,一线开发者需要在开发的同时,也保留足够的精力进行充电学习,这对于大家都是不小的挑战。


iDev大会是 DevLink 组织的面向苹果开发者的技术活动,更多活动详情请见 http://idev.devlink.cn/
现在购票可享受8折优惠,3人以上团购还有额外折扣。
9698 次点击
所在节点    iDev
75 条回复
newbieooOO
2016-10-12 14:26:56 +08:00
观点我是支持的, 这种应用开发起来虽然简单,性能和原生还是没法比。平台特性也无法完全实现。做些小企业应用还是可以的。强大的系统工具类的就无法实现了。
wingoo
2016-10-12 14:48:11 +08:00
趋势无法避免的, 随着移动设备计算性能的倍增, 这点性能损失都不是事了
tabris17
2016-10-12 14:53:50 +08:00
只能说大多数 APP 根本没必要做原生,比如电商、新闻订阅,做成原生仅仅是为了耍流氓抢占推送入口罢了
Zzzzzzzzz
2016-10-12 14:55:39 +08:00
我书读得少, RN 算 HTML5 和前端范畴的么?
xcatliu
2016-10-12 15:06:46 +08:00
我只想说,涉及前端的问题,他回答的并不专业(我也不是很专业,不明确的地方标上了问号):

> 微信小程序利用的技术方案类似于 React Native

微信小程序和 React Native 不同,微信小程序是更接近於 Web App 的 Hybrid App

> 所以既可以利用 JavaScript 的更新方便的优势,又可以呈现出完美流畅的交互体验

微信小程序的更新需要微信审核吧?理论上还是一个浏览器的壳,流畅程度和应该和浏览器一致吧?
微信小程序的优势应该是开发成本低,用户群体广,能够通过 Bridge 调用一些微信的接口?

> 5 、我们注意到,本次会议也会聊到 React Native 方面的话题,尽管 React Native 还有很多坑,但您觉得类似的跨端开发技术能否最终可以成为一个可以选择的、成熟的开发模式?
>
> 我觉得 HTML5+JS 方案可能变成熟,但不太可能成为主流,主要原因是:

React Native 和 HTML5+JS 完全是两码事
hushuqi
2016-10-12 16:08:10 +08:00
听说有一家 H5 做 APP 的一家公司,拿到风投后,立马抛弃 H5 ,改用原生了。。。
corona
2016-10-12 16:24:11 +08:00
@hushuqi H5 就是快速,低成本,缺点也是明显,性能和体验不够好。为了长远发展,还是要抛弃 H5
metrue
2016-10-12 16:28:56 +08:00
@Zzzzzzzzz React Native 来开发 App 和 HTML5 不是一个事儿。
kikyous
2016-10-12 16:32:40 +08:00
H5 可能不会,还有 H6, H7 呢
tscat
2016-10-12 16:38:57 +08:00
性能损失带来的就是耗电吧。。这个才是移动设备的关键
lovelynn
2016-10-12 16:43:21 +08:00
我觉得分行业来看待这个问题比较合适。最近 看到一些 app 用 html5+js 在很多判断逻辑上存在修改服务端的返回的 js 绕过的风险。想了一想 感觉是在模式上存在的问题 每个判断做接口又太麻烦。所以总觉得不大靠谱
solome
2016-10-12 16:43:24 +08:00
```
微信小程序利用的技术方案类似于 React Native ,所以既可以利用 JavaScript 的更新方便的优势,又可以呈现出完美流畅的交互体验。我觉得微信的小程序是可以在很多中低频应用中获得优势,因为这些应用无需安装,非常符合张小龙说的“用完即走”的想法。
```

这讲的不对吧~
微信小程序 依旧是 Web 呀,需要浏览器“壳子”支撑; React Native 最后要转义到原生实现的。
WildCat
2016-10-12 16:43:42 +08:00
你问 native 大牛他们肯定不会说 HTML 5 成为主流因为一旦实现他们工作就不好找了。
native 开发者肯定会唱衰 HTML 5.

反正我等吃瓜群众路过就好。
binux
2016-10-12 16:56:13 +08:00
立 flag 的「终究」会被打脸
SuperMild
2016-10-12 17:01:15 +08:00
但是,会不会变成主流,这个根本不重要啊!

HTML5 已经占有一席之地,已经有了一些合适的使用场景,已经实际上有用了,并且还会继续变得越来越有用。

根据长尾理论,是否主流不重要。
zander
2016-10-12 17:01:24 +08:00
微信的公众号已经站稳脚跟了。
miketeam
2016-10-12 17:05:07 +08:00
看需求吧, app 需要一天一个花样的,那就用 h5 呗, rn 的话坑多。。想做交互性更好,省点事的那就原生的呗。

@WildCat native 开发者干嘛要唱衰 h5 呢? oc , swift 或者 java 的学习难度难道比 js 低?再说了原生开发者 html5 也是比修的一门课好伐?不知道有个控件叫 WebView?
winglight2016
2016-10-12 17:58:05 +08:00
1 、优秀的前端工程师比优秀的客户端工程师更加稀少。

2 、即使使用 HTML5+JS 的方案,也需要了解不同平台的差异和特点。在这方面, HTML5+JS 其实没有优势。

这两个理由怎么看都站不住脚:
1.稀少是现状,不是原因甚至没有多少“相关性”——更何况是不是真的稀少也是个问题
2.使用 H5 方案,通常都会选择一个现成的开源框架,谁会自己重新造轮子啊?所以需要了解不同平台差异云云也是不成立的
t0byxdd
2016-10-12 18:23:27 +08:00
什么时候移动系统直接提供 HTML 方案而不是靠这些基于系统 native 接口的第三方库了再说吧
dreamwar
2016-10-12 18:28:13 +08:00
@binux 哈哈,这才是真理

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

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

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

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

© 2021 V2EX