首页 > 其他分享 >一端开发、多端部署,多操作系统”争艳“背景下的开发思路

一端开发、多端部署,多操作系统”争艳“背景下的开发思路

时间:2024-02-27 17:58:28浏览次数:25  
标签:原生 多端 框架 App 争艳 开发 微信 app

今年,在中国,被各大媒体和开发者称为“鸿蒙元年”。   在2023年底就有业内人士透露,华为明年将推出不兼容安卓的鸿蒙版本,未来IOS、鸿蒙、安卓将成为三个各自独立的系统。果不其然,2024年1月18日的开发者(HDC)大会上,就官宣了“纯血鸿蒙”操作系统即将于2024年3季度正式投产。   伴随着鸿蒙开始研发独立的手机操作系统--HarmonyOS NEXT,小米、vivo两大手机厂商也相继官宣自研操作系统。   似乎一夜间,全球的移动应用操作系统不再被IOS和Andriod垄断。  

App开发该如何应对多移动端侧的现象?

正所谓“三十年河东,三十年河西”。   十年前,移动应用开发领域是“一片净土”,只需要维护IOS & Andriod端,顶多再多一个Windows端,如果产品形态相对简单,使用原生开发,最多每个端1-2名开发人员便可。   十年后,独立移动操作系统开始增加,还有未来不可预见的、有望与其他操作系统PK的厂商加入,叠加互联网的需求迭代越来越快,如果还继续用原生的方法开发业务,那么产品市场化的速度是远远赶不上的。   业务没有技术的加持,就好比折翼的小鸟,行动处处受影响。  

混合开发框架的流行

混合app开发框架是指能够同时支持原生开发和Web开发的框架,它可以将原生应用和Web应用的优势结合起来,为开发者提供更高效、更便捷的开发体验。   混合app开发框架的概念最早可以追溯到2009年,当时PhoneGap(现为Cordova)框架的发布标志着混合app开发的开始。PhoneGap允许开发者使用HTML、CSS和JavaScript来开发跨平台的移动应用,并通过插件来访问原生设备功能。随后,混合app开发框架得到了快速发展,涌现出了许多流行的框架,如Ionic、React Native、Xamarin等。2016年至今,混合app开发框架趋于成熟,并开始向更细分的方向发展。   有了混合开发框架和技术实践下,让”一端开发,多端部署“的概念执行成为可能。   混合app开发框架通常采用以下两种技术原理:
  • WebView:使用WebView控件将Web页面嵌入到原生应用中,从而实现跨平台开发。
  • JavaScript桥:提供JavaScript与原生代码之间的通信桥梁,使得Web代码可以访问原生设备功能。
特性包括以下四点:
  • 跨平台开发:使用一套代码可以开发Android、iOS等多个平台的应用。
  • 快速开发:提供丰富的UI组件和API,可以快速构建应用原型。
  • 性能优化:通过各种技术手段提升应用性能。
  • 原生功能支持:可以访问原生设备功能,提供更好的用户体验。
   

「Native+小程序」的混合开发模式更优

从2017年微信首次推出小程序开始,经过四年发展,各大互联网巨头纷纷推出自己的小程序应用平台,小程序成为真正意义上的“互联网新技术标准”。截至2021年上半年,全网小程序数量突破700万个,其中,微信小程序是行业主流,数量超过430万个,占比高达约61.43%。   借着微信的红利,使用“小程序转换工具”(小程序容器技术,如FinClip;或跨端框架,如Flutter、Weex等),将已有微信小程序一键转换成App,并进行用户活跃和留存,加上社交平台应用作为引流,企业可谓低成本(只需有小程序)的将业务覆盖用户整个生命周期。  

将小程序转成App的开发实例

近期在研究FinClip的免费“小程序转换App”工具,发现还挺好用,大致步骤如下:
  1. 上传小程序代码包:如果已经有微信小程序应用,那么下载一下他们家的FinClip Studio(IDE开发工具)进行简单的转换。
  2. 使用微信登录插件:已经预先调试好的微信登录插件,非常方便,能够在转好的App中,通过一个中间转换的小程序调起微信登录接口,快速跑通业务。
  3. 生成App前必要的配置:如App图标、启动闪屏、权限配置等
  4. 生成App:配置一下对应IOS或Andriod的证书,然后「一键」生成App
实操下来,这个工具还是挺方便的。当然,其他跨端转换框架应该也是操作便捷,感兴趣的同学都可以试试。  Plus惊喜:将小程序转换为App,如果小程序容器技术支持鸿蒙NEXT版本,那么,使用已有小程序+转换App的功能,便能快速开发出一套适配兼容鸿蒙NEXT操作系统的App。   混合app开发框架的出现,打破了传统原生开发的壁垒,为开发者提供了更高效、更便捷的开发体验。开发者只需使用一套代码,即可开发出适用于多个平台的应用,大大降低了开发成本和时间。 此外,混合app开发框架还可以充分利用原生平台的优势,为用户提供更好的体验。例如,混合app可以访问原生设备功能,如摄像头、GPS等,并可以与原生应用无缝衔接。   混合app开发框架正以其独特的优势,逐渐成为多独立操作系统 & 移动开发需求并存的主流选择。

标签:原生,多端,框架,App,争艳,开发,微信,app
From: https://www.cnblogs.com/speedoooo/p/18037397

相关文章

  • 谷歌发布世界模型,能生成可交互虚拟世界;华为发布全球首个 5.5G 智能核心网丨 RTE 开发
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,欢......
  • 开发之调试-debug
    流程需求或创意--开发--调试--测试--部署-上线debugc++有gdbjava有jdbpython有pdb调试器会附加到应用进程打断点python调试printassertpdb##assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式......
  • 测温方案开发——红外额温枪芯片方案
    红外额温枪作为测温设备,可以实现非接触近距离测量人体的体温,在特殊情况下,为了避免直接接触人体,防止交叉感染,在很多地方都需要用到红外额温枪。红外额温枪采用的红外传感器均为热电堆式,基本物理原理是塞贝克效应。其测量距离为3~8CM,太远距离将会导致数据有偏差,测量模式下额头测......
  • Hybird App开发,一种快速实现纯血鸿蒙App开发的理念
    2024年1月18日的开发者(HDC)大会上,就官宣了“纯血鸿蒙”操作系统即将于2024年3季度正式投产。与此同时,支付宝、京东、小红书、微博、高德地图、中国移动等在内的超百个头部应用都启动了鸿蒙原生应用开发,鸿蒙开发者日新增注册量已过万,同时众多985、211高校接连开设HarmonyOS相关课程......
  • Rust开发日记
    Gettingstarted-RustProgrammingLanguage(rust-lang.org)  安装好配置环境变量Path:%CARGO_HOME%和%RUSTUP_HOME% 建立config文件,不要扩展名。[source.crates-io]registry="https://github.com/rust-lang/crates.io-index"#替换成你偏好的镜像源replace-......
  • 项目开发中 Redis 缓存和数据库一致性问题及解决方案
    引入Redis缓存提高性能如果公司的项目业务处于起步阶段,流量非常小,那无论是读请求还是写请求,直接操作数据库即可,这时架构模型是这样的:但随着业务量的增长,你的项目业务请求量越来越大,这时如果每次都从数据库中读数据,那肯定会有性能问题。这个阶段通常的做法是,引入缓存来提高读性......
  • Taurus.MVC WebMVC 入门开发教程3:数据绑定Model
    前言:在这篇Taurus.MVCWebMVC入门开发教程的第三篇文章中,我们将重点介绍如何进行数据绑定操作,还会学习如何使用${属性名称} CMS语法来绑定页面上的元素与Model中的属性。步骤1:创建Model首先,我们需要创建一个Model类来存储数据。在VisualStudio中,右键单击项目文......
  • vue3开发
    主界面的模板<template><divclass="login-back"><divclass="login-container"><h2>人口信息管理系统</h2><el-formref="loginFormRef":model="loginForm":rules="l......
  • VSCode+Vim 开发
    VSCode+Vim开发一、安装及配置vim插件0.安装vim拓展1.拷贝配置到settings.json中settings.json在"文件"->"首选项"->"设置"->"文本编辑器"{"vim.easymotion":true,"vim.incsearch":true,"vim.useSystemCl......
  • ## 进行开发5
    在完成的数据库操作后,自己看到别人的app都有图表,于是自己也尝试学了下安卓中的图表。刚开始学习过程有些坎坷,但学习后发现并没有自己想象的那么难,因为图表是使用第三方库进行创建的,所以自己不用再创建相关的方法,想要实现某种样式,只需要自己调用第三方库中方法,修改相关的设置属性......