【前端早早聊直播回顧】Harmony 時代的跨端方案

上周末,凡泰極客CTO - 徐鵬受邀出席「前端早早聊」直播活動,并以【跨端新挑戰-鴻蒙時代的跨端】為主題進行演講。

摘取部分分享實錄:

終端系統的數量和種類不斷增長,開發者面臨著多平臺開發的挑戰。以往開發者一般只需要維護iOS、android、MacOS、windows幾個主流核心終端操作系統即可,但是隨著信創化的趨勢,統信、麒麟、鴻蒙等操作系統也開始崛起,后續可能還會涌現 HyperOS、BlueOS 等等操作系統,如果這么多的操作系統終端,每個終端都用不同的語言維護,研發成本將是巨大的。

根據鴻蒙提供的信息,第一批兼容支持的跨平臺框架會是 React Native、Flutter、Weex等等,「目的也是為了提供開發生態中的歷史資產復用,降低開發者的兼容門檻」,但是例如 React Native ,針對 Harmony 平臺,software mansion 社區版本會新增一個 OpenHarmony Renderer 去將前端標簽轉化為 ArkUI 里的控件進行渲染,而在需要通過 JSI 溝通的 Plugin Module 場景,在 OpenHarmony 上會通過原生的 NAPI 去適配,可以看出來這是一個妥妥的苦力活,而適配 Openharmony 的 Flutter 版本現在由社區開發維護,這個版本的第三方 packages 也在逐漸遷移適配,這樣的話可能會同時存在兩個版本的 Flutter,而這兩個版本間的插件生態的兼容性會比較麻煩。

那有沒有更優的跨端技術選型呢?

FinClip 是一個行業領先的小程序容器技術,FinClip SDK 已全面適配鴻蒙OS原生開發(HarmonyOS NEXT),通過 FinClip 技術,任何企業或者開發者都可以將現有小程序場景直接上架至鴻蒙App中,實現場景快速遷移,同時,還能通過 FinClip Studio 將現存小程序反向生成鴻蒙App。

而且 FinClip 完全擁抱微信生態,兼容微信語法, 也就是說企業或者開發者可以將已有微信小程序代碼在 FinClip 中進行項目導入,從而導出為 Harmony OS 中可用的工程文件,并上架至鴻蒙應用市場。由于導出的工程文件自動集成了 FinClip SDK ,所以直接擁有小程序的運行能力,后續可在所導出的 App 上繼續上架更多小程序,豐富 App 上的使用場景。

FinClip為鴻蒙提供小程序運行能力,出于以下原因:

  • 以Web類型技術實現應用,而不是以傳統原生手段(例如在iOS上基于Swift/ObjC、在Android上基于Kotlin/Java),更符合市場剛需。鴻蒙在操作系統層面對Web技術的支持是原生的(例如開發語言采用TypeScript,一種JavaScript的超集),用小程序替代原生App高度可行。

  • 小程序天然跨端,對于各個平臺都是由各平臺原生語言開發,將各平臺的差異抹平到同一水平線,然后由 webview 來承擔頁面的渲染,將各平臺的差異降到最低。然后再在基礎庫這一層面做一些兼容邏輯,最后在上層的小程序開發者基本就感知不到平臺的差異,可以專注于開發業務邏輯。

  • 小程序作為應用程序,也將極大程度豐富鴻蒙的數字生態,也將幫助鴻蒙社區無縫對接海量的小程序技術開發工程師。

  • 企業幾乎都有自己的小程序內容,將可以無縫遷移到鴻蒙上,而無需再采用另一種技術去重新實現。企業在過去的多年里,自行在自己的融合型App中打造的融合HTML5碎片的“熱更新”技術,其底層遷移至鴻蒙,依然需要重新開發與調試。在一個持續優化更新、本身還在快速發展的操作系統如鴻蒙上,此工作并不簡單,開發人員需要重新培訓,知識體系與Android并不一樣。

現在留給我們的時間不多了,如果企業有鴻蒙App改造的需求,是不是可以將App鴻蒙化的改造排個優先級?先把關鍵的、需要適配的核心功能,自研團隊集中精力適配了,其他業務場景,重要的通過小程序化改造,或者讓第三方開發商提供小程序的版本,以極低的門檻植入到App中,先保證關鍵業務能在鴻蒙NEXT中運行,后續再慢慢改造邊緣場景呢?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/710889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710889.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024年3月阿里云服務器大規模價格下調后優惠折扣表

阿里云服務器ECS等核心產品價格全線下調,最高幅度達55%,2024年3月1日生效,針對ECS部分在售產品的官網折扣價、ECS計算型節省計劃進行調整,生效后,基于官網折扣價的新購和續費,將按照新的價格進行計費。阿里…

程序媛的mac修煉手冊-- Node.js入門篇

最近因為參與一個微信小程序的開發,開始摸索JavaScript。期間,需要基于Node.js安裝微信開發工具的依賴項,所以又順帶學習了Node.js的包管理工具npm(Node Package Manager)。不過,之前看到國外的全棧大佬??…

flutter學習(一) 安裝以及配置環境

首先需要下載flutter,然后解壓 然后配置環境變量,配置到bin目錄就行 配置完之后cmd運行flutter doctor 你就會發現,都是錯 此時腦海里響起,臥槽,怎么回事,咋辦 別著急,我教你。。。 問題 這…

RK3568 RK809電源管理 RTC功能使能 定時喚醒

概述 RK809 是一款高性能 PMIC,RK809 集成 5 個大電流 DCDC、9 個 LDO、2 個 開關SWITCH、 1個 RTC、1個 高性能CODEC、可調上電時序等功能。 系統中各路電源總體分為兩種:DCDC 和 LDO。兩種電源的總體特性如下(詳細資料請自行搜索): DCDC:輸入輸出壓差大時,效率高,但…

python學習筆記 - 標準庫常量

Python 中有一些內置的常量,它們是一些特殊的值,通常不會改變。以下是其中一些常見的內置常量及其詳細解釋以及使用示例: True: 表示布爾值真。給 True 賦值是非法的并會引發 SyntaxError。 x True print(x) # 輸出&#xff1a…

內網穿透 nas/樹莓派+ipv4服務器 (ipv6)

nas 1.有個服務器 2.有個nas https://github.com/snail007/goproxy/blob/master/README_ZH.md https://github.com/snail007/proxy_admin_free/blob/master/README_ZH.md 2個官網一個是程序,一個是網站 手冊 https://snail007.host900.com/goproxy/manual/zh/#/?i…

Unity3D Shader事項法線貼圖功能詳解

前言 Unity3D它提供了豐富的功能和工具,使開發人員能夠輕松創建出色的游戲和應用程序。其中Shader是Unity3D中非常重要的一部分,它可以幫助開發人員實現各種視覺效果,包括法線貼圖功能。 對惹,這里有一個游戲開發交流小組&#…

rocketmq+rocket-dashboard win10安裝部署+注冊為Windows服務

1.1 首先去官網下載zip包 選擇自己需要的版本 下載 | RocketMQ 1.2 、下載后,解壓到指定目錄 1.3、配置RocketMQ環境變量 注意,看對應的版本需要jdk版本 1.4、啟動mqnameserver 進入bin目錄下,雙擊啟動mqnamesrv.cmd 啟動后,…

灰度圖像轉化為黑白圖像、轉化圖像為一位位深度的圖像(僅保留黑色)

/// <summary> /// 灰度圖像處理 /// </summary> public class PicGray {/// <summary>/// 獲取pic圖像對應的黑白圖像/// </summary>/// <param name"pic"></param>/// <param name"NumGray">像素灰度值</p…

webpack5基礎--02_基本配置( 5 大核心概念)

基本配置 在開始使用 Webpack 之前&#xff0c;我們需要對 Webpack 的配置有一定的認識。 5 大核心概念 entry&#xff08;入口&#xff09; 指示 Webpack 從哪個文件開始打包 output&#xff08;輸出&#xff09; 指示 Webpack 打包完的文件輸出到哪里去&#xff0c;如何…

Vue項目構建時遇到的問題

Vue項目構建時遇到的問題與上線相關問題 項目構建遇到的問題構建指令關于JavaScript文件無法識別的問題關于element-plus組件庫中的模塊顯示找不到的問題關于路由懶加載時組件路徑報錯問題關于項目靜態資源基準路徑的設置關于路由模式的問題 關于nginx服務器的使用 項目構建遇到…

事物管理(黑馬學習筆記)

事物回顧 在數據庫階段我們已學習過事務了&#xff0c;我們講到&#xff1a; 事物是一組操作的集合&#xff0c;它是一個不可分割的工作單位。事務會把所有的操作作為一個整體&#xff0c;一起向數據庫提交或者是撤銷操作請求。所以這組操作要么同時成功&#xff0c;要么同時…

java實現根據 表索引 批量新增或更新數據信息

目的 通過數據庫名、表名實現動態添加活更新數據。添加或更新由唯一索引判斷。 實現 思路 查詢數據庫表的唯一索引-CSDN博客 根據數據庫表名動態查詢表字段-CSDN博客 達夢數據庫根據唯一索引批量新增或更新數據-CSDN博客 將數據轉換為sql語句需要的格式 完善代碼&#xff0c;實…

maven常用打包命令

1.背景 2.代碼 1 mvn常用命令 一般情況下對于一個maven項目&#xff0c;cd切換到當前項目路徑下&#xff0c;執行如下示例命令即可對項目進行打包。 mvn clean install mvn -U clean package -Dmaven.test.skiptrue mvn clean package -Dmaven.test.skiptrue -P prod mvn cle…

JavaScript數組操作指南:20個精通操作技巧指南

splice、 slice、 pop 和 shift。數組的排序方法是穩定且非原地算法的嗎&#xff1f;要記住所有 JavaScript 數組方法以及它們之間的區別并不容易。它們的名稱相似&#xff0c;就好像直接從同義詞詞典中提取一樣。 這個數組速查表列出了 JavaScript 中通常需要的所有數組方法&…

Gson使用Object接收長數字問題

近期發現公司同事在使用Gson對數字進行反序列列化時出現丟失精度的問題&#xff0c;在這里搬運一下&#xff0c;做個記錄~ 現象 使用Gson反序列化長Long數字(大于16位),如果用Object類型來接收則會丟失精度。 Gson會將數字反序列化為double類型,double類型本身就容易丟精度。…

小程序基礎

小程序基礎 1. 認識什么是小程序 什么是微信小程序 微信小程序是一種運行在微信內部的 輕量級 應用程序。 在使用小程序時 不需要下載安裝&#xff0c;用戶 掃一掃 或 搜一下 即可打開應用。它也體現了 “用完即走” 的理念&#xff0c;用戶不用關心安裝太多應用的問題。它…

weak的實現原理

iOS 在運行時維護著一個全局的弱引用表&#xff0c;該表是一個 hash 表&#xff0c;hash表的 key 是 對象本身&#xff0c;value 是指向該對象的所有 weak 指針的地址數組。 /**全局的弱引用表&#xff0c;本質是一個hash結構&#xff0c;對象本身作為key, 存儲weak修飾的指…

大模型訓練經驗

1.模型訓練好后預測全是起始符號。 解決辦法&#xff1a;訓練數據的輸入輸出去掉起始符號。 2.模型訓練后學不到有效信息。 加大epoch&#xff0c;我加大到了1000。 3.模型訓練后預測沒有結束符&#xff0c;暫時未解&#xff0c;另外&#xff0c;發現當訓練不足時&#xff…

Metasploit安裝及使用教程(非常詳細)從零基礎入門到精通,看完這一篇就夠了。

通過本篇文章&#xff0c;我們將會學習以下內容&#xff1a; 1、在Windows上安裝Metasploit 2、在Linux和MacOS上安裝Metasploit 3、在Kali Linux中使用 Metasploit 4、升級Kali Linux 5、使用虛擬化軟件構建滲透測試實驗環境 6、配置SSH連接 7、使用SSH連接Kali 8、配…