您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

分享几个业界主流的跨端解决方案

时间:2022-10-24 14:41:13  来源:  作者:二山山记

Flutter 是当下移动端领域非常热门的跨端框架,各个大厂都在积极探索这项技术,并在主营业务上实现落地。

而在 Flutter 诞生之前,业界已经有大量移动端跨端技术了。

今天就主要介绍几个业界主流的解决方案:Flutter、React Native 、Weex、Finclip

Flutter

Flutter是谷歌的移动UI框架,可以快速在IOSAndroid上构建高质量的原生用户界面。

Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。

Flutter的优点非常明显,主要体现下:

1、优秀的动画设计;

2、可选静态的语言,语言特性优秀;

3、性能强大,流畅,性能与构建思路几乎最接近原生开发的框架;

4、极大降低开发成本。原本安卓iOS都需要人,现在只招一个flutter人员就够了。

Flutter缺点

1、假装跨平台,躲不开原生代码

2、Widget的类型难以选择,糟糕的UI控件API;

3、Dart 语言的生态小,精通成本比较高。

4、代码可读性较差(嵌套地狱),对代码质量和管理要求较高;

5、原生集成第三方SDK后,兼容性适配是个令人头痛的问题;

省流版:flutter是个性能强大的框架,但是坑也有点多就是。

React Native

React Native是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。

RN使用JAVAscript语言,类似于html的JSX,以及css来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。

React Native 将原生开发的最佳部分与 React 相结合, 致力于成为构建用户界面的顶尖 JavaScript 框架

主要的产品特性:

酌量添加,多少随意。随时都可以把 React Native 无缝集成到你已有的 Android 或 iOS 项目,当然也可以完全从头焕然一新地重写。

流水的多平台,铁打的 React。绝大多数情况下,使用 React Native 的团队可以在多个平台间共享一份基础代码,以及通用的技术 —— React。

Weex

Weex框架能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。

Weex 致力于使开发者能基于当代先进的 Web 开发技术,使用同一套代码来构建 Android、iOS 和 Web 应用。具体来讲,在集成了 WeexSDK 之后,你可以使用 JavaScript 和现代流行的前端框架来开发移动应用。

特点:

1. 支持 Native 扩展

2. 页面的开发目前支持Rax和Vue

3. 一次编写,三端(Android、iOS、前端)运行

4. 可以在chrome中调试JS代码,weex支持在chrome中预览页面dom节点

5. UI 的绘制通过 native 的组件,JavaScript 逻辑在 JS 引擎里运行,两者通过 JavaScriptCore 通信。

Finclip

FinClip 是凡泰极客研发的一套小程序容器技术,兼容互联网主流小程序技术,自研小程序开发工具 FIDE,任何人都可以通过 FIDE,以“极低的技术投入”将小程序转为独立的 App,并且获得一款可以“安装在手机中的 App”。

与Flutter、Reactive-Native等跨端语言不同的是,FinClip严格意义上讲是一项容器技术。

与上述的跨端技术不仅不冲突,还可以完美融合。不管是通过Flutter、Taro、 kbone等开发出来的小程序均可在FinClip当中运行。

这种小程序容器技术,也带来了许多好处

1、 因为 JS 在 Service 层执行,所以 JS 里面操作的 DOM 将不会对 View 层产生影响,所以小程序不能操作 DOM 结构的,这也使得小程序的性能比传统的 H5 更好。

2、方便多个小程序页面之间的数据共享和交互。在小程序的生命周期中具有相同的上下文可以为具备原生应用程序开发背景的开发人员提供熟悉的编码体验;

3、Service 和 View 的分离和并行实现可以防止 JS 执行影响或减慢页面渲染,这有助于提高渲染性能;



Tags:跨端   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
跨端轻量JavaScript引擎的实现与探索
一、JavaScript 1.JavaScript语言JavaScript是ECMAScript的实现,由ECMA 39(欧洲计算机制造商协会39号技术委员会)负责制定ECMAScript标准。ECMAScript发展史: 2.JavaScript...【详细内容】
2024-03-12  Search: 跨端  点击:(6)  评论:(0)  加入收藏
构建高性能 React Native 跨端应用—图片与内存
在浏览器构建的 web 中开发者可能不用花费太多精力关注图像上,但是在移动应用中,对于图像的关注显得非常重要。因为在 RN 应用中,无论是图片还是动图,或者是视频都是非常耗内存...【详细内容】
2023-09-04  Search: 跨端  点击:(256)  评论:(0)  加入收藏
一套移动端高性能高可用的动态化跨端开发框架
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个跨端开发框架,支持 Android 和 iOS 应用—&m...【详细内容】
2023-02-06  Search: 跨端  点击:(287)  评论:(0)  加入收藏
分享几个业界主流的跨端解决方案
Flutter 是当下移动端领域非常热门的跨端框架,各个大厂都在积极探索这项技术,并在主营业务上实现落地。而在 Flutter 诞生之前,业界已经有大量移动端跨端技术了。今天就主要介...【详细内容】
2022-10-24  Search: 跨端  点击:(210)  评论:(0)  加入收藏
携程小程序生态之Taro跨端解决方案
一、摘要 随着携程接入小程序平台类型的增加,前端需要负责的端越来越多,研发成本也随之成倍增加。为了解决一套代码多端运行的诉求,携程小程序框架不断调整、升级,逐渐形成了携...【详细内容】
2022-08-17  Search: 跨端  点击:(499)  评论:(0)  加入收藏
黑盒不黑:跨端 C/C++ 库一键源码调试方案
作者:王森(天作)C/C++ 具有天然的跨平台特性,丰富的构建工具、Native 的性能以及成熟的社区生态,近年来移动端也越来越多的集成了一些使用 C/C++ 开发一些逻辑内聚且对性能要求...【详细内容】
2022-07-27  Search: 跨端  点击:(434)  评论:(0)  加入收藏
Hippy - 腾讯出品的开源跨端开发框架,支持将 JS 代码发布到安卓 / iOS
腾讯出品的多端开发工具,用 javascript 来开发 app,有一定的应用场景,值得关注。关于 HippyHippy 是一个由腾讯出品的跨端开发框架,据称内部历经3年时间打磨,现在开放给所有开发...【详细内容】
2022-05-25  Search: 跨端  点击:(615)  评论:(0)  加入收藏
小程序跨端框架实践之Remax篇
一、项目背景随着小程序在用户规模和商业化上取得的极大成功,各大平台都推出了自己的小程序。然而这些平台的小程序开发在语法上又不尽相同,不同平台小程序代码的维护需要投入...【详细内容】
2021-11-05  Search: 跨端  点击:(729)  评论:(0)  加入收藏
跨端方案的三大困境
写在前面2018 年,Airbnb 放弃了继续使用 React Native,个中原因主要有两方面: 技术:成熟度、配套设施/类库建设成本、首屏性能硬伤等没能很好地解决 团队组织:工程师要求高、跨技...【详细内容】
2020-08-18  Search: 跨端  点击:(299)  评论:(0)  加入收藏
前端技术框架选型,跨端框架盘点
一年前我们打算做一个跨端产品,希望一套代码,同时发布五端(Android/IOS/Windows/Mac/Web),以减少开发成本及测试成本和维护成本,基于此,对市面上一些技术栈进行对比研究。首先确定...【详细内容】
2020-08-05  Search: 跨端  点击:(408)  评论:(0)  加入收藏
▌简易百科推荐
Netflix 是如何管理 2.38 亿会员的
作者 | Surabhi Diwan译者 | 明知山策划 | TinaNetflix 高级软件工程师 Surabhi Diwan 在 2023 年旧金山 QCon 大会上发表了题为管理 Netflix 的 2.38 亿会员 的演讲。她在...【详细内容】
2024-04-08    InfoQ  Tags:Netflix   点击:(3)  评论:(0)  加入收藏
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(8)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(15)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(11)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(8)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(14)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(10)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(12)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(13)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条