“一套代码,多端运行”靠谱么?

“一套代码,多端运行”,是用人企业和开发者们的共同愿景。用人单位要节省成本,开发者要“偷懒”。
当下也有许多的“跨平台解决方案”存在,那么“一套代码,多端运行”真的靠谱吗?

关于这个问题,我有专门去各个开发群跪请各位“大佬”赐教,下面是正反两方阵营所表达的观点:

正方:

  • (JAVA大佬,客串前端)学习成本低,而且人员成本也低,就这个优点而言,就会有很多对应用要求不苛刻的公司去使用吧;

  • (PHP大佬,兼职前端)看了下文档感觉挺好;

  • (JAVA+PHP+前端的全栈大佬)觉得挺好,是以后的发展方向;
  • (前端萌新妹子)可行性肯定的,方向是好的,但坑是巨多的;

反方:

  • (前端大佬)这是一个坑,就不要踩;

  • (资深前端大佬)虽然功能实现上可行,但是业务上不是很顺利,目前都是原生和小程序分开写;

在当下,跨平台主要是“小程序”,“APP”,“H5”三端。从上面的调研中,赞同者基本为主后端开发者,反对者基本为专职前端开发者。

小编本人也是后端出身,现专职前端。工作中产品经理对用户体验要求有点小高(一个登录注册光js经常都是2000行起步),别人是一人一周一个项目,我是一人一周一个登录,别人是一人一天一个模块,我是一人一天一个弹窗。

结合上方各位开发者所表达的观点,小编结合自己的工作经验和实际工作中遇到的事来说一说“一套代码,多端运行”这事是否靠谱?这一切还是得从“需求”出发,遇到一个对体验有要求的产品经理,跨端的事基本与你绝缘。在我的原创文章《Dcloud与APICluod选择指南》中也说过类似的问题。下面是小编对几个常用的场景做一下跨端开发后的问题做一下还原:

  1. 列表上拉加载更多的问题:在H5,APP,小程序上实现这个功能 so easy,但在H5端存在致命的问题,APP与小程序通过上拉加载出第二页数据,点击列表打开详情窗口,按返回关闭详情,重新回到列表页,这一切是多么的 beautiful,但在H5端,返回后,你已经没法回到上一个窗口的第2页了(可能通过某方式可以实现,但这代价绝对是巨大的,何况各浏览器还有差异,有的浏览器是重新加载上一页,有的浏览器是直接退回到上一页);
  2. 输入框问题:普遍来说APP的导航是在应用的底部的,但在H5端因为键盘顶起的问题,带来一系列的体验问题,输入框被遮挡等等,还有,如果要求在输入时显示页面底部的按钮,虽然现在有相应的API,但这API真的很不好用;
  3. 授权登录和注册问题:登录和注册是非常重要的功能,但在各端注册的要求都是不一样的,如果还有更多的第三方登录的话,那么这一整套注册和登录的模块中能共用的代码估计只有几个输入框和一个按钮是存在样式的公用,但要在考虑跨端的情况下开发这些,这里面的条件判断,将非常复杂,开发后的代码量,绝对比各端都写一套要多;
  4. 支付问题:支付可以说是每个产品最核心的功能,但小程序有各个平台的接口,APP需要调用原生的SDK,H5只能通过表单,这么一个核心功能都没办法保证多端统一,所有与支付相关的功能都会收到牵连。
  5. 返回事件的问题:APP和小程序返回都是关闭当前窗口,但H5默认情况下都是返回上一条记录(举个例子,在“个人中心”新建窗口打开“登录”,“登录”当前窗口打开“注册”,此时按返回键,APP和小程序是返回到“个人中心”,而H5是返回到“登录”,如果产品是个杠精,这遭罪你怕是要气哭);

这是本人的亲身经历,这只是功能上的问题,如果再细节一点,考虑到 IOS 和 Android 用户的操作习惯问题,将会有更多更多的问题出现,如果有对H5端用户体验注重的伙伴,只拿H5一端来说  IOS 和 Android 的差异就会带来许多的体验问题(浏览器默认的手势,弹动,长按),如果再加上跨端,这代码维护难度不敢想象。

如果对产品的质量按“良好体验”,“基本能用”,“功能正常”来划分的话,小编觉得,“一套代码,多端运行”后的产品,最多达到“基本能用”标准。

结论:“一套代码,多端运行”在技术上是可行的,但在实际业务中,当前还只能是一个“理想”。在React 官网中有一句话“学习一次,写在任何地方”,这话我深感赞同,多端运行目前确实存在各种各样的问题,但是降低学习成本是显而易见的(向为“跨平台解决方案”努力的开发者们致敬)。用一个“跨平台解决方案”单独的为“APP”,“小程序”,“H5”三端去编写代码是一个不错的选择,如果要同时解决多端,那么你的产品质量只可能停留在“功能正常”的水平。

小编觉得,如果你是在开发自己的产品,绝对不要选择“跨平台开发框架”,你的产品将毫无亮点,毫无竞争力可言,在跨端的同时,你的体验不得不妥协。就像 Hybrid App 在 Native App 面前只能是个弟弟。

以上结论仅代表个人看法,是否选择“一套代码,多端运行”,望各位慎重考虑。

作者:黄河爱浪 QQ:1846492969,邮箱:[email protected]

公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。

更多精彩文章,请扫下方二维码关注我的公众号

“一套代码,多端运行”靠谱么?_第1张图片

你可能感兴趣的:(web前端)