美文网首页程序媛基地前端Web前端之路
Hybrid App 框架之Apicloud (白话篇)

Hybrid App 框架之Apicloud (白话篇)

作者: 会会会会 | 来源:发表于2016-12-20 18:53 被阅读5856次

Hybrid App(混合app)就是将原生技术(android,ios)和前端技术结合开发的出来的app,开发成本,周期快,维护方便,比如我现在的公司就是一前端负责一个app。平均每个人开发上线的app数量大于2,有个部门更夸张,一个月上线一个app。

初见ionic

我上家公司用的混合框架是ionic 1版本,在去年2015年的时候,那个时候apicloud还不是很火,apicloud是从mui分出来,但是感觉apicloud再后期发展比mui要好很多,无论是社区的活跃度,及官方回复,修复更新上,感觉都做得很好,因为我是今年2016上半年3月才接触apicloud的,那个时候,我就是公司的小白鼠,之前公司用的是MUI开发的一个农产品电商app(貌似也是一个妹子开发出来的,也不是独立,还有其他人配合),我看了下,感觉效果比我用ionic开发的要好很多。

ionic我们之前开发的是一个视频娱乐类型的app,可以给视频配音什么,基本上都是用的h5技术,也就是前端技术,webview怎么说呢,性能不是很好,很多槽点,特么是加载大量图片,或者有动画效果的时候,会有点卡,比如闪一下,初次加载页面时间长,每次boss让解决这些问题都是脑壳痛,而且ionic是基于angular这样的大型前端框架,在手机上跑起来,特别是android机,真的很蛋疼。当时我们一共是4个人开发维护一个app,我们组长主要是架构整个app,一个妹子负责写页面样式,一个负责ios,android方面的问题,比如打包,编译什么的。我负责js数据这块,也就是angular里面controller和servers这部分,写写接口文档,和接第三sdk,当时还对接了而一个百度地图的sdk,看相关技术文档,及各种头疼的配置文件也是躺了不少坑。因为ionic想到于有三层,1.最上面那层是当然就是一个浏览器,这个大家不默认吧  2.中间那层就是cordova(cordova的前身就是众所周知的phonegap),他的作用就相当于把原生和浏览器连接起来,这中间当然少不了很多配置文件,所以,我很多时候看那些java的配置文件是崩溃的。3。最底层就不说了,就是ios和android,反正我也不是很懂他们。

成功上线,性能待优

也许当时在成都,混合app大家都是小白,4个人开发起来真的还是蛮吃力,特别是我和写页面的妹子,总感觉有修复不玩的bug。ionic和angular都不说,歪果仁搞的框架,全程看英文文档,因为中文文档很多时候解释不清楚,逼得没法了,还是只有特么去看英文文档,特别是ionic,(angular中文社区还算比较成熟)。遇到很多未知的问题,也只有翻墙去goole英文社区搜答案,真的是自己挖的坑,哭着也要填完。当然也没少加班,不过说真的,还挺怀恋那段时光,学到了很多东西,关键是解决问题的能力。特别整合搜索关键词的能力,无论中文还是英文,同样一个问题,我们组长就很轻而易举搜到他想要的答案,而我搜半天,也没找到想要的东西!最后跌跌撞撞还是上线了那个app。后来我们离职后,他们还是决定用原生开发,毕竟是一个比较复杂的视频类娱乐app。想要高性功能,还是原生吧(那个时候他们还不知道有apicloud,他们估计也不想尝试了)

偶然巧遇,Apicloud

曾经沧海难为水。辞掉工作后,我来到了这家公司,和cto聊的时候,了解到当时他们想搞一个旅游在线app,想用混合app框架apicloud搞,我想搞就搞,这些框架无非也就大同小异,理论上说不存在人类无法理解的框架。大部分还是要看官方文档。但是听到说我要一个人弄一个app的时候,说实话,我还是懵逼半秒钟,,但是都想过放弃的这家公司的。回去后,我就去官网看,用了不到半个小时,就在android机上跑起了一个hello world 的app。信心大增。于是我就加入了我现在的公司,原本以为有人带,结果,其他人都没用过这玩意。我又只有哭着去看视频和文档,但是cto还花重金给我买了一个apicloud的视频直播教学(至少700大洋),讲道理,我没用看完一个直播。有一个我甚至看睡着了。说实话,那个时候压力还是大,简直就是一边开发一边学。其实官网上几个免费的视频,完全够了,比起看视频,还是看文档来的快和直接。

原来都一样

慢慢的我也渐渐对apicloud有了一点深入的了解(结合以前的经验)。原则上,apicloud 和ionic或者mui是没得啥子区别的,就是原生混合前端,简单点说,就是在你的app上打了一个浏览器窗口进去,之前那家公司,我们也给四川电信原生app做插件,实践上就是原生应用上的一个浏览器窗口,原生应用可以控制流浪器的窗口的大小和透明度之类的,也可以透传数据给浏览器,比如在用户看视频的时候弹出个广告,或者文章简绍,其实就是打开一个浏览器窗口。实现了ios,android的兼容。讲道理,浏览器真是个好东西,浏览器的w3c标准已经很规范了,可以实现跨终端,跨设备的。只要你的设备上有一个按标准实现的浏览器。当时,我之前那个公司还和四川电信合作,在EPG(电子节目选择单)上加弹广告功能,其实原理适合做一个app插件一样的。就是机顶盒上内置了一个浏览器,只是操作他的是遥控板,所以,epg上也有很多独特的标准和接口,当时也是看了很多标准文件,也是脑壳痛。

UI等其他原声模块,再也不用担心性能问题

额,不小心又讲了那么多,其实apicloud也一样,但是它封装得很好,很多原生控件简直就是0耦合性,添加,配置管理起来也是极好的。比如你的首页要用一个轮播的banner,你就可以直接在控制台(模块,这里他一个原生组件,就是一个封装好的模块,有专门的文档简绍调用方法,只有认真看文档,很快的)添加该模块。这种原生的动画效果,从根本上解决了性能问题,而且大大减少了前端的工作量。当然,不好的地方就是样式自定义选择不多,有是有,选择不多。apicloud官网上有很多这种动画类的原生模块,有免费的也有付费的,当时cto买课程的送了一个原生模块,但是我都没用,类似联系人的list那种样式(cto非要我找个地方加进去,可是我真没得地方用这玩意啊),对接第三方sdk更是轻而易举了,按官方文档配置起走,半个小时就可以和后端对接一个第三方sdk(比如第三方登录,第三方支付功能什么的)

云端管理,白痴都能开发

除了apicloud的原生模块,apicloud的云端也是做得很好,很好用的就是编译打包,只要将证书上传至云端,白痴式一键云端编译打包。apicloud上面还可以一键创建生成android证书,至于ios,是ios工程师不晓得去哪里申请创建的。我们这个实际上是配了一个ios和android工程师的,四个部门共享他们两个,当时他们做了个自定义的环信客服聊天界面的sdk。讲道理挺好用的,他们也是按官网文档开发的模块,理论上说和官方的标准模块没区别。简直给我省去了很大的工作量,而且我们四个部门都可以用。

一键云端编译,一人把控

在云端用正式证书编译出来的包可以直接上线的,android是上应用宝,ios我们这边上线用的是testflight。因为我是mac环境,我有xcode,所以这边ios我编译好包,都是自己用xcode的Application Loader上线测试,测试通过就直接提app store。理论上说我是一个人维护两个版本的全部流程。

谢谢观看!

e,apicloud就先简绍到这来吧,我还会持续更新!O(∩_∩)O~~


相关文章

网友评论

  • 1剑天下:😄能分享一点视频不,明天入坑,好怕啊
    会会会会:@1剑天下 官网上有很多视频,很简单的
  • tower1229:APICloud深度用户飘过,推荐一个基于APICloud的快速开发框架 http://refined-x.com/HybridStart/
    会会会会:@tower1229 谢谢罗
  • 帅大叔的简书:java工程师一枚, apicloud 小白,准备入坑,求美女大神带带。
  • 263ef79dfff9:好厉害,😱
    会会会会:@木木木_木头脑袋 你现在是ios ?
    263ef79dfff9:@前端抠脚妹子 想学前端,求带😳
    会会会会:@木木木_木头脑袋 :grin::grin::grin:不厉害,还要继续努力
  • andyMe:妹子,你好,我是android工程师,想学学前端,求指教:smile:
    会会会会:@andyMe 好呀
  • aff6f56dd338:本人 :stuck_out_tongue_winking_eye: iOS转前端,现在就是在开发跨平台的App,apicloud和mui都了解过,感觉apicloud适合自己公司的产品,mui适合做外包项目。因为本人在外包公司,就使用mui开发了
    会会会会:@青峰奇缘 加外包:stuck_out_tongue_winking_eye:
    aff6f56dd338:@前端抠脚妹子 :heart_eyes: :heart_eyes: 加什么?
    会会会会:@青峰奇缘 我也想做外包,加一个?
  • deqiutseng:Ionic,apicloud 都有做过项目,如有模块或者插件开发可以交流下
    会会会会:@deqiutseng 可以!
  • 873c704eba47:妹子,你好,我是iOS工程师,想学学前端,求指教:smile:
    873c704eba47:好啊,互相伤害,互相学习
    会会会会:@贾瑞236718 来啊互相伤害,我想学ios 因为我是做app 的混合app
  • Ravenddd:厉害了,美女
    会会会会:@大胡子Wilson 过奖过奖:grin:
  • linchwei:差评,这么厉害就算了,人还长得那么漂亮😕😕😕
    会会会会:@linchwei 就当你是在夸我:joy:
  • 158346fa5a81:妹子太厉害了
    会会会会:@飘雪的夜 :grin::grin:
  • luichooy:能讲一下mui和APIcloud的对比吗?
    会会会会:@alsanbro 是的,我自己感觉Apicloud 官方文档写的还可以,而且有bug 你在社区提了,都能及时解决
    luichooy: @这三五太难了 我目前再用mui,mui文档很不完善,坑比较多。所以其实我想知道两者在性能方面区别大不大
    会会会会:@alsanbro 从根源上来说,他们是一家出身,分成两派,本质上来说没得什么区别,只是调用原生的方法(接口)不一样而已,都是混合app,mui 了解不是很多,但从我们公司弃用mui 用APIcould 来说,后者确实在开发维护,社区完善做的很好,很活跃
  • e78498a051ec:前端小白路过…😂
    会会会会:@xiaoxiao亮 加油!

本文标题:Hybrid App 框架之Apicloud (白话篇)

本文链接:https://www.haomeiwen.com/subject/sghfvttx.html