AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

體驗了一把華為的 OpenInula,談?wù)勈褂酶惺?/h1>
來源: 責(zé)編: 時間:2024-04-19 09:27:09 174觀看
導(dǎo)讀華為在今年開源了一款類似于 React 的前端框架, openInula。他的宣傳語上面,把 openInula 與大語言模型、前端 AI 賦能結(jié)合在一起,主打一個高性能、全場景、智能化。果然遙遙領(lǐng)先在宣傳語的設(shè)計上還是有點水平的。然后我

Uew28資訊網(wǎng)——每日最新資訊28at.com

華為在今年開源了一款類似于 React 的前端框架, openInula。他的宣傳語上面,把 openInula 與大語言模型、前端 AI 賦能結(jié)合在一起,主打一個高性能、全場景、智能化。Uew28資訊網(wǎng)——每日最新資訊28at.com

果然遙遙領(lǐng)先在宣傳語的設(shè)計上還是有點水平的。然后我就去了解了一下這個框架。Uew28資訊網(wǎng)——每日最新資訊28at.com

一、無縫遷移

我想先試一下能不能真的做到無縫切換。如果真的能做到的話,我們就可以非常方便的使用 React 的生態(tài)直接搞 openinula 項目了。Uew28資訊網(wǎng)——每日最新資訊28at.com

Uew28資訊網(wǎng)——每日最新資訊28at.com

這樣來看的話,確實能夠快速將 React 的生態(tài)遷移到 openInula 上面來。但是由于我大多數(shù)組件都是基于 useState 來編寫的,因此,想要使用 useReactive 的話,只能全部替換掉。Uew28資訊網(wǎng)——每日最新資訊28at.com

- const [display, setDisplay] = useState(false)+ const display = useReactive({ show: false })

替換掉之后功能基本上沒什么毛病。但是在最佳實踐的摸索上還存在一些疑問。比如當(dāng)我想要將一個響應(yīng)式數(shù)據(jù)傳遞給子組件時,下面哪種方式更好一些呢?我還沒有一個定論,還需要進一步的體會和摸索。Uew28資訊網(wǎng)——每日最新資訊28at.com

<Dialog show={data.open.get()}}>hello</Dialog>
<Dialog show={data.open}>hello</Dialog>

第一種方式會更加契合解耦方面的思考,但書寫稍微繁瑣了一點,第二種方式呢,會對子組件邏輯造成更大的干擾。想到這里,突然之間明白了在 arkUI 里的狀態(tài)設(shè)計,如果從父組件里傳遞一個響應(yīng)式數(shù)據(jù)給子組件時,子組件必須使用 @Prop 裝飾來接收這個狀態(tài)。Uew28資訊網(wǎng)——每日最新資訊28at.com

這樣在子組件中,我們就能夠清晰的知道這個數(shù)據(jù)類型的特性到底是怎么回事了。從而降低了維護成本。這樣一想的話,arkUI 在組件狀態(tài)的設(shè)計上,確實有點東西。Uew28資訊網(wǎng)——每日最新資訊28at.com

@Componentstruct ChildComponent {  @Prop  private count: number  build() {    Text(`Child Count: ${this.count}}`)  }}

四、意外之喜

當(dāng)我試圖使用解構(gòu)的方式來拆解 useReactive 時,居然不會失去響應(yīng)性。Uew28資訊網(wǎng)——每日最新資訊28at.com

const {count, open} = useReactive({   count: 0,   open: false });const countText = useComputed(() => {  return `計時: ${count.get()}`;});setInterval(() => {  count.set((c) => c + 1);}, 1000);

這可就解決了大問題了!當(dāng)數(shù)據(jù)變得龐大,它的繁瑣的程度將會大大的降低。所以在使用上會比 solid.js 方便許多。Uew28資訊網(wǎng)——每日最新資訊28at.com

我了解到的 Vue3 和 Solid 實際上在這一點上都做得不是很好,解構(gòu)之后,Vue3 的狀態(tài)會失去響應(yīng)性。Uew28資訊網(wǎng)——每日最新資訊28at.com

// 直接使用 count 無法具備響應(yīng)性const {count} = reactive({ count: 0 })

Solid 的 API 設(shè)計,又無法做到把顆粒度細(xì)分到每個子屬性Uew28資訊網(wǎng)——每日最新資訊28at.com

const [count, setCount] = createSignal({n: 1});function clickHandler() {  setCount({ n: count().n + 1 })}

所以,當(dāng)需要更細(xì)的屬性時,Vue3 可能會更多的使用 ref 來做,而 solid 則與 useState 一樣,單獨聲明這個屬性。Uew28資訊網(wǎng)——每日最新資訊28at.com

這么橫向一對比,openInula 的響應(yīng)式 API 就有點厲害了。在設(shè)計上充分體現(xiàn)了自己的獨創(chuàng)性和先進性,如果其他方面不出什么問題的話,應(yīng)該會受到一大批程序員的喜愛。Uew28資訊網(wǎng)——每日最新資訊28at.com

不愧是遙遙領(lǐng)先。 Uew28資訊網(wǎng)——每日最新資訊28at.com

五、總結(jié)

openInula 的使用體驗與 React 幾乎一樣。與 React 不同的是,他增加了一個響應(yīng)式 API。因此能夠增加一些不同的開發(fā)體驗。也正是由于這個響應(yīng)式 API 的存在,讓 openInula 在 API 設(shè)計上有了自己的獨創(chuàng)性。Uew28資訊網(wǎng)——每日最新資訊28at.com

與其他響應(yīng)式框架相比,我更喜歡 openInula 的 API 設(shè)計,在開發(fā)體驗與維護體驗的綜合考慮上目前是做得最好的,雖然為了考慮維護體驗犧牲了一些開發(fā)體驗,不過我完全能接受。由于接觸了幾款華為的框架,可以感受到,他們在設(shè)計 API 時,會把可維護性的重要性看得比開發(fā)體驗更高。Uew28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)然,svelte 我還沒有怎么了解過,不過有聽到坊間傳言說是模仿 Vue3 的,那估計設(shè)計模式跟 Vue3 差別不算大。Uew28資訊網(wǎng)——每日最新資訊28at.com

var { count, a, b, c } = useReactive({  count: 1,  a: 1,  b: 1,  c: 1})count.set((v) => v + 1)count.get()a.set((v) => v + 1)a.get()b.set((v) => v + 1)b.get()c.set((v) => v + 1)c.get()

本文鏈接:http://www.tebozhan.com/showinfo-26-84009-0.html體驗了一把華為的 OpenInula,談?wù)勈褂酶惺?/p>

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Electron 30 正式發(fā)布,新特性詳解

下一篇: 接口擴展與設(shè)計模式:為何早點學(xué)習(xí)設(shè)計模式如此重要

標(biāo)簽:
  • 熱門焦點
  • K60至尊版狂暴引擎2.0加持:超177萬跑分?jǐn)孬@性能第一

    Redmi的后性能時代戰(zhàn)略發(fā)布會今天下午如期舉辦,在本次發(fā)布會上,Redmi公布了多項關(guān)于和聯(lián)發(fā)科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 帥氣純真少年!日本最帥初中生選美冠軍出爐

    日本第一帥哥初一生選美大賽冠軍現(xiàn)已正式出爐,冠軍是來自千葉縣的宗田悠良。日本一直熱衷于各種選美大賽,從&ldquo;最美JK&rdquo;起到&ldquo;最美女星&r
  • SpringBoot中使用Cache提升接口性能詳解

    環(huán)境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架從 3.1 開始,對 Spring 應(yīng)用程序提供了透明式添加緩存的支持。和事務(wù)支持一樣,抽象緩存允許一致地使用各
  • 19個 JavaScript 單行代碼技巧,讓你看起來像個專業(yè)人士

    今天這篇文章跟大家分享18個JS單行代碼,你只需花幾分鐘時間,即可幫助您了解一些您可能不知道的 JS 知識,如果您已經(jīng)知道了,就當(dāng)作復(fù)習(xí)一下,古人云,溫故而知新嘛。現(xiàn)在,我們就開始今
  • 這款新興工具平臺,讓你的電腦效率翻倍

    隨著信息技術(shù)的發(fā)展,我們獲取信息的渠道越來越多,但是處理信息的效率卻成為一個瓶頸。于是各種工具應(yīng)運而生,都在爭相解決我們的工作效率問題。今天我要給大家介紹一款效率
  • 猿輔導(dǎo)與新東方的兩種“歸途”

    作者|卓心月 出品|零態(tài)LT(ID:LingTai_LT)如何成為一家偉大企業(yè)?答案一定是對&ldquo;勢&rdquo;的把握,這其中最關(guān)鍵的當(dāng)屬對企業(yè)戰(zhàn)略的制定,且能夠站在未來看現(xiàn)在,即使這其中的
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯(lián)網(wǎng)企業(yè)調(diào)整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • 蘋果MacBook Pro 2021測試:仍不支持平滑滾動

    據(jù)10月30日9to5 Mac 消息報道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯的評價,亮點包括行業(yè)領(lǐng)先的性能,令人印象深刻的電池續(xù)航,精美豐
  • 電博會上海爾智家模擬500平大平層,還原生活空間沉浸式體驗

    電博會為了更好地讓參展觀眾真正感受到智能家居的絕妙之處,海爾智家的程傳嶺先生同樣介紹了展會上海爾智家的模擬500平大平層,還原生活空間沉浸式體驗。程傳

Top