
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的企业在开发应用软件的时候都增加了跨端开发的需求,而本文我们就通过案例分享来简单了解一下,常见跨端开发框架都有哪些类型。
一、Flutter
Flutter作为谷歌的移动UI框架,在快速构建iOS和Android应用及开发、高性能、可移植性上表现优秀,并可以与现有代码一起工作,基于这些特点使其越来越受到开发者的推崇,近几年发展速度也比较迅猛,各大公司都在主端业务引入。
前端对于Flutter的热忱度之高一度让人有点惊讶,事实上在Flutter社区内见到的客户端开发者远多于前端开发,不过前端对于跨端解决方案确实有着天然的渴求。
优点:
1、跨平台;
2、性能强大,流畅,混合开发中,接近原生开发的框架;
3、Dart语言简单易学;
4、极大降低了开发成本。原来需要招一个iOS、一个安卓,用了flutter后,只需要招一个flutter人员就够了;
缺点:
1、Widget的类型难以选择,糟糕的UI控件API;
2、Dart语言的生态小,精通成本比较高。
3、开发工具版本升级后,修改量大;
4、原生集成三方SDK后,兼容性适配是个令人头痛的问题;
5、代码可读性较差(嵌套地狱),对代码质量和管理要求较高;
简短版:flutter是个性能强大的框架,但是坑多。
二、ReactNative
ReactNative(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架React在原生移动应用平台的衍生产物,支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。
主要特性:
1、原生的iOS组件
通过ReactNative,开发者可以使用UITabBar、UINavigationController等标准的iOS平台组件,让应用界面在其他平台上亦能保持始终如一的外观、风格。
2、异步执行
JavaScript应用代码和原生平台之间所有的操作都采用异步执行模式,原生模块使用额外线程,开发者可以解码主线程图像、后台保存至磁盘、无须顾忌UI等诸多因素直接度量文本设计布局。
3、触摸处理
ReactNative引入了一个类似于iOS上ResponderChain响应链事件处理机制的响应体系,并基于此为开发者提供了诸如TouchableHighlight等更高级的组件。
三、FinClip
FinClip是凡泰极客研发的一套小程序容器技术,也可以说是小程序SDKRuntime/Engine,提供Runtime基于浏览器内核,采用动态语言(JS)和声明式View构建(XML),兼容互联网主流小程序技术,可采用Vue、react基础上的DSL框架。
与Taro、Flutter、Reactive-Native等跨端语言不同的是,FinClip严格意义上讲是一项容器技术。与上述的跨端技术不仅不冲突,还可以完美融合。不管是通过Flutter、Taro、kbone等开发出来的小程序均可在FinClip当中运行。
这种小程序容器技术,将视图层与逻辑层分离也带来了许多好处:
1、方便多个小程序页面之间的数据共享和交互。在小程序的生命周期中具有相同的上下文可以为具备原生应用程序开发背景的开发人员提供熟悉的编码体验;
2、Service和View的分离和并行实现可以防止JS执行影响或减慢页面渲染,这有助于提高渲染性能;
3、因为JS在Service层执行,所以JS里面操作的DOM将不会对View层产生影响,所以小程序不能操作DOM结构的,这也使得小程序的性能比传统的H5更好。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。