前言
好多人学习的时候都会记笔记,像我这种从不记笔记的,能写点东西也很不容易。。 众所周知,我是个以后端为主的,当然自己写东西,肯定不能是写点 php 就满足了。从纯原生代码写 php 到初学 ThinkPHP ,过了两年终于走进了 Laravel 的世界。关于前段的方向也从原生 js 到 jQuery 到响应式布局,从 html 到 h5 再到 Android 原生过渡到小程序最后到了 js 混合开发。关于 php 的经历有点多,今天主要想说的是,在 js 混合开发的探索阶段遇到的各种大坑和技术选型的经历。
技术选型
其实所谓的技术选型,无非是觉得哪个好用,哪个适合我去开发而已。 最近想做点小玩意(写代码能作为一种爱好我还是很开心的),自然想到了 App 。从这个角度开始,去选择一个合适的框架。 一开始有如下几种方案:
今天要比较和选型过程的就上述几个,具体内容下面将从使用到放弃一个一个讲。
分门别类
首先说,以下仅代表我个人观点。好与不好,都是自己的认知。我最多呢就是给纠结中的人一些参考,以及一些*学什么都学不下去的*孩子们一些鼓励。毕竟,我从大一 C 语言结束后的每一行代码都是自己学着写的。 其实目前比较多用户的已经在悄悄转移了,以前一开始的 PhoneGap 等等已经逐渐没有声音了。说回来,人越发展,越趋向社区型的产品。
产品型
产品型有一个显著的特征:收费为主。其实直说,他们是卖产品的,而不是做生态或社区的。因此是一些专做这个的技术公司运营起来的。
好啦,这次的第一选型就是 DCloud 了。毕竟在将 DCloud 与 APICloud 对比一下,还是前者比较能吹。又产业联盟又各种超级 IDE 的,而且说 APICloud 的技术也是从这儿拿的,是吧。 以下是 DCloud 的官网首页公告。没见法院要求的 APICloud 往首页放,倒是原告一直在摆着。
因为以前也开发过,所以比较有经验。还是下载 HBuilder 开发。什么是 HBuilder 呢?
下载下来,居然跟以前几乎一样。还是 eclipse 的拓展包拼出来的。包含了真机调试,云端打包以及最基本的代码提示等功能。我不知道为什么他能把「护眼模式」说了这么多年,有什么稀奇么。。 开发的路上,初始化项目。然后依旧是右边可以开一个预览,但只能看 html 的内容,有关动态页面还是要跑去 Chrome 里面去看了。然后提供了一个 ui 框架叫做 AUI , 代码逻辑都是 jQuery 的语法。貌似看见过有人将 vue 工程转移到上面做 app。但我知道效果肯定很一般。关于各种登录分享地图等等插件都是集成好的,在工程设置里直接填 token/access_key 什么的就行了。但我毕竟也是接触过原生开发的,我不知道他要求填写微信的 AppSecret 是为什么。。 真机运行的话,用的是 Hbuilder 的基座进行预览。打包发布就不是开发者的事儿了,还是给他开发者 key 什么的就好了 一行代码都没写,决定放弃了。原因如下:
不细说了,之前是那这个做过一个半完整的 app 的。这次也尝试了一下,也是一行代码都没写就放弃了。 原因与上述大部分相同,还有几点:
社区型
其实这个名字也是最近写 rn 的时候看见了介绍的。比如 php、Laravel,ThinkPHP 也算是一个不完整的社区吧。就是开源、大家都可以为之做出贡献,不以盈利为目的,但产品质量是由大家一起维护的,因此,你懂的。因此,从 Laravel 之后,便越来越倾向于社区型的产品了。其实以前就听说过 react native 的大名了,但是对其有一些误解,以为其在 Android 和 iOS 每次调用原生的时候都要分别处理,以及我会用的前端框架也就 vue 了。因此想找找有没其他的。于是,就到了 weex 的了。
刚开始就百度搜索关键字, 「vue」 「app」,大家都在说 Weex。不过也有说其迭代速度已经很慢了的。但是看了看文档,感觉自己对其还是比较有兴趣的。从看一脸懵逼的文档到放弃,居然用了两周的时间。 因为中间一直看到那些说已经不维护的消息,但是对照 github 上的发布时间,前几天还在更新代码。但是版本还没发。而且,网上说阿里系的 app 已经好久没有全应用都用 Weex 的方案了。这点我无从考证。但是初始化后,发现 Android 和 iOS 生成的编译 sdk 版本都好低。再加上我发现社区真的没有做起来。官方没有 issue ,都是 apache 的邮件组(阿里后来吧 weex 交给了 apache 基金会来维护)。而且所谓的插件市场甚至一直都上不去,直到有一次偶然发现好像是其域名重定向出了问题。但是基本也没什么内容。甚至调用原生接口都调不通。包括但不限于微信登录、高德地图等插件,有是有,该过期的都过期了,基本都用不了,最新的提交是 6 个月前。 可以看一下[Weex 和 React Native] 的对比文档。大部分人建议就是,如果从现有应用修改,比较适合用 Weex ,但是从头开发还是 React Native。 对了,还有一个从 Weex 衍生出来的项目, Eros。没有用。。用了那个,好像又回到了 DCloud。 然后经过两周的研究+没有写多少业务代码,一直配置运行环境来着。算了。。放弃了。 即使是阿里开源社区的产品,但是几乎没有人在弄的东西,也就是社区环境最怕的内容——没有支持者。最后,抛下对 React Native 的偏见,走向了人生的道路。 给大家看一下许久没更新的 Weex 文档
目前卡壳在 Android 沉浸式状态栏,一直也不知道这个布局是什么样子的。 前几天用了两个小时差不多看懂了 reactjs,随后便将王妃送了出来。 优点就是
太困了,不说了,晚安
补充
现在已经开始用`Flutter`了。。