首页 > 其他分享 >移动端动态化的由来,你知道吗?

移动端动态化的由来,你知道吗?

时间:2023-04-12 23:10:42浏览次数:28  
标签:原生 动态 Hybrid 动态化 移动 知道 Native

目前的移动开发者面临的最大痛点就是面对极其复杂的环境,对此,庄卓然给出一个公式,移动开发的复杂度=应用数量×平台数量×要适配的各种各样的机型。

如何解决这个问题呢?在解决问题之前,首先要对移动开发的未来有着精准的研判。

阿里认为,移动开发的未来必定更加平衡,也就是说必须是性能与动态兼得,如此,才能够满足未来用户的需求。另外,移动开发在未来也必定是开放互联的状态,移动互联网将来肯定是基于更加大众化的技术体系,没有平台之间的隔阂,而且简单易用。

移动端动态化的由来

“动态化”并不是最近几年才产生的名词,而是从从互联网诞生的初期,这个词就已经出现了。大家所认知的早期互联网,其实就是各种各类的“动态网站”,内容数据和页面外观都不是固定的,都是随着服务器端的更新而更新的,让用户可以很及时地看到最新的内容。因此,动态化可以说是互联网的标志,是互联网最核心的特性之一。

而移动互联网的普及,移动端被各类原生应用所占据,而这些应用更近似于 Software,依托于应用市场进行更新,只有其中的数据是实时的。这样,每次产品的更新,必须依赖用户的主动更新,从而造成了一定的用户成本,不利于产品的快速迭代,降低应用的试错能力。因此,移动端动态化方案逐渐走进大家的视野,并被大家所关注。

从一开始基于 WebView 的 Hybrid 方案 PhoneGap、Titanium,到现在与原生相结合的 React Native 、Weex,甚至 Flutter,都被或多或少地使用到不同的移动应用中。

原生开发能不能动态化?准确的说是能的,而且 Android 平台各公司都有很完善的动态化方案,甚至 Google 还提供了 Android App Bundles 让开发者们可以更好地支持动态化。而反观 iOS,由于 Apple 官方担忧动态化的风险,因此并不太支持动态化(去年还封杀了 JSPatch 等一类动态修复方案),因此比较通用的原生动态化方案几乎没有,只有各大厂自己实现的一些动态化框架。

动态能力建设方向流派众多

如何选择动态能力建设的流派,主要从研发成本、兼容性、动态能力、稳定性、操作体验等方面判断,需要根据团队的实际情况来进行选择。

简单叙述一下动态化能力建设的主要流派:

1、React-Native

  • 优点:历史悠久、资料丰富、学习楷模
  • 缺点:兼容性一直被诟病,坑太多玩不动
  • 典型代表:Facebook、Linkedin

2、原生+H5

  • 优点:平衡性佳、研发可控能力好
  • 缺点:原生部分动态能力欠缺
  • 典型代表:Hybrid方式依然占据大部分市场

3、原生+小程序(另一种Hybrid方式)

  • 优点:同样拥有平衡性和研发可控性的优点,体验接近原生,小程序的性能是有目共睹的
  • 缺点:与h5一样原生部分动态能力欠缺
  • 典型代表:依然是Hybrid方式,微信、支付宝、美团、FinClip

4、weex flutter

  • 优点:性能动态能力兼顾
  • 缺点:开发成本高、异构风险大、IDE体系弱
  • 典型代表:阿里系

5、纯H5化

  • 优点:节省开发资源,动态性最好
  • 缺点:兼容性问题多,体验尚与原生有差距
  • 典型代表:腾讯系

当然也有纯原生的,所剩无几就不讨论了。

动态化流派众多,各有利弊,没有最好,各个团队需要根据自己的项目选择最合适的方式。以我们团队为例,目前选择了Native+小程序的结合,通过在APP中引入 FinClip小程序容器技术,让App具备小程序运行的环境。从而实现这种基于小程序的Hybrid的方案。以下简单介绍一下Native+小程序的模式有哪些优点:

首先基于小程序的Hybrid方案,是通过更加定制化的 JSBridge,并使用双 WebView 双线程的模式隔离了JS逻辑与UI渲染,形成了特殊的开发模式,加强了 H5 与 Native 混合程度,提高了页面性能及开发体验。

标签:原生,动态,Hybrid,动态化,移动,知道,Native
From: https://blog.51cto.com/u_15978219/6186319

相关文章

  • 2移动到小图片切换大图片
    <head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title&......
  • 什么是移动端动态化?
    在移动开发领域,为了让APP保持最新的版本,同时让业务开发变得更加快捷,动态化技术极其重要。今天就来聊聊移动端动态和开发的由来和各流派的优缺点。移动端动态化的由来“动态化”并不是最近几年才产生的名词,而是从从互联网诞生的初期,这个词就已经出现了。大家所认知的早期互联网,其实......
  • 关于小程序SDK,或许你想知道这些
    大家在做移动端应用开发的时候都会不满足于APP客户端,小程序的应用也越来越广泛了。小程序SDK应运而生,意在帮助用户提高运维效率、小程序作为一种轻量级的应用形态,越来越受到开发者和用户的欢迎。什么是小程序SDK?小程序SDK是一种开发工具包,用于开发和构建小程序应用程序。它提供了一......
  • LeetCode #283 移动零(双指针版本,效率高)
    基本思路思路————双指针初始状态左右指针都指向数组首位元素,然后right指针开始迭代数组,当碰到非0元素则与左指针left所在位置的元素交换。交换完毕后,左指针left则向前移动到下一位置,做好准备迎接下一个非0元素的交换。这种算法效率比之前撰写的“伪双指针”......
  • EasyCVR平台如何正确配置设备移动侦测告警信息的上传?
    EasyCVR视频融合平台基于云边端协同架构,支持海量视频汇聚管理,平台融合性强、拓展灵活、视频能力丰富,具体包括:视频监控直播、轮播、录像、视频转码、云存储、检索与回看、告警上报、电子地图、云台控制、语音对讲、集群、级联共享等。用户在现场部署了EasyCVR,需要将设备的移动侦测告......
  • 如何在移动应用开发中,用小程序实践灰度发布策略
    在当今移动应用市场竞争激烈的环境下,如何更快地发布新版本、更精确地测试和调整、更好地了解用户需求和行为,成为了每个App开发者面临的重要挑战。在这个背景下,灰度发布和小程序容器技术成为了越来越受欢迎的解决方案。 灰度发布是指将新版本应用程序推送给一部分用户进行测......
  • 移动端,cavans和svg绘制进度图
    先看效果:起初是用cavans绘制的结果会模糊,倍数绘制再缩小也是模糊,最后换成了svg绘制:cavans:global.progressChart={template:`<divclass="process-chart-box"><canvasid="progressChart">当前浏览器不支持canvas</canvas><imgsrc......
  • 小车(移动机器人)仿真平台
    实现效果:小车(移动机器人)仿真平台(1)以等腰三角形表示一个小车,三角形顶点指向为小车的朝向,即前进方向。如下图所示,那么我们只要求用三角形表示,而不是图中的形状其运动学模型如下:(2)可以在窗口输入给定的线速度和角速度以驱动小车的运动,它们可以是时间序列数据,也可以是小车的位......
  • 第9章 使用MVC为移动和客户端应用程序创建Web API(ASP.NET Core in Action, 2nd Editio
    本章包括创建WebAPI控制器以向客户端返回JSON使用属性路由自定义URL使用内容协商生成响应使用[ApiController]属性应用通用约定在前五章中,您已经完成了服务器端渲染ASP.NETCore应用程序的每一层,使用RazorPages将HTML渲染到浏览器。在本章中,您将看到对ASP.NETCore应用程......
  • Java高并发专题之31、等待线程完成的方式你知道几种?
    在一个线程中需要获取其他线程的执行结果,能想到几种方式?各有什么优缺点?结合这个需求,我们使用6种方式,来对之前学过的知识点做一个回顾,加深记忆。方式1:Thread的join()方法实现代码:packagecom.itsoku.chat31;importjava.sql.Time;importjava.util.concurrent.*;/***跟......