一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OS開發(fā)實(shí)例:【組件化模式】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-07 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

組件化一直是移動(dòng)端比較流行的開發(fā)方式,有著編譯運(yùn)行快,業(yè)務(wù)邏輯分明,任務(wù)劃分清晰等優(yōu)點(diǎn),針對(duì)Android端的組件化;與Android端的組件化相比,HarmonyOS的組件化可以說實(shí)現(xiàn)起來就頗費(fèi)一番周折,因?yàn)?a target="_blank">HarmonyOS經(jīng)過更新迭代之后,最新的開發(fā)方式已經(jīng)和之前兼容AOSP階段有著很大的區(qū)別,基于最新的Api9,以及采用全新的ArkTs語言的開發(fā)方式,想實(shí)現(xiàn)組件化,就需要另謀途徑。

在以往的Android組件化實(shí)現(xiàn)中,我們直接可以在gradle里進(jìn)行自定義配置相關(guān)參數(shù),執(zhí)行application和library,以及其他的參數(shù)信息,來實(shí)現(xiàn)一個(gè)可運(yùn)行模塊和依賴模塊的動(dòng)態(tài)轉(zhuǎn)換,這是非常方便的,但是,在HarmonyOS中,構(gòu)建文件中,除了使用系統(tǒng)配置的之外,是不支持自定義的,起碼當(dāng)前是不支持的,也就是說,我們無法通過在構(gòu)建里來實(shí)現(xiàn)組件化運(yùn)行的切換。

image.png

這就在一定程度上阻礙了組件化的配置,雖然我們可以按照動(dòng)態(tài)包的模式,拆分出獨(dú)立的業(yè)務(wù)模塊,形成模塊化開發(fā),但是在業(yè)務(wù)邏輯復(fù)雜的項(xiàng)目,很多的模塊,同時(shí)編譯運(yùn)行,無疑來說是耗時(shí)的,遠(yuǎn)遠(yuǎn)比不上組件化方式的開發(fā)效率,基于此,能夠探索出組件化的可行性,確實(shí)是很有必要的。

本文的大致如下:

1、模塊化的拆分與設(shè)計(jì)

2、模塊化向組件化切換

3、鴻蒙項(xiàng)目如何實(shí)現(xiàn)組件化

4、使用腳本快速實(shí)現(xiàn)組件化運(yùn)行

5、腳本地址和相關(guān)總結(jié)

一、模塊化的拆分與設(shè)計(jì)

模塊化,簡而言之,就是把項(xiàng)目中獨(dú)立的業(yè)務(wù)模塊抽取出來,單獨(dú)創(chuàng)建一個(gè)模塊。

原始的開發(fā)方式,我們都會(huì)把所有的代碼,所有的業(yè)務(wù),放在一個(gè)模塊下,以至于導(dǎo)致,此模塊,代碼越來越多,業(yè)務(wù)越來越繁雜,不利于人員的維護(hù),也不利于項(xiàng)目的可移植和健壯,最大的不便在于,后續(xù)一旦有同樣功能的項(xiàng)目,不能第一時(shí)間拿來復(fù)用,為解決以上的問題,便有了模塊化。

具體在項(xiàng)目中,需要把哪些功能抽取成一個(gè)單獨(dú)的模塊,需要具體問題具體分析,但有一個(gè)潛在的宗旨,那就是,必須業(yè)務(wù)獨(dú)立,比如項(xiàng)目中的用戶信息模塊,商城模塊,再比如底層的網(wǎng)絡(luò)請(qǐng)求模塊,數(shù)據(jù)庫操作模塊等等,只有業(yè)務(wù)獨(dú)立,才能方便后續(xù)的復(fù)用。

當(dāng)然了,有一個(gè)前提,大家必須明確,那就是后續(xù)的組件化是在模塊化的基礎(chǔ)上,只是增加了單模塊可以運(yùn)行的能力。

如下圖所示,是基于API9和ArkTs語言,設(shè)計(jì)的模塊化。

image.png

以上只是一個(gè)通用的場景,在實(shí)際的開發(fā)中,大家可以按照實(shí)際的業(yè)務(wù)進(jìn)行修改,比如省略聚合層,直接讓中間層依賴基礎(chǔ)庫層,又或者,中間層直接依賴底層的sdk等等,靈活多變即可。

entry,作為我們的主模塊,是單獨(dú)可以運(yùn)行的,除了這個(gè)模塊之外,其他的所有模塊均不可運(yùn)行,只能被作為依賴項(xiàng)使用。

從上圖中,大家可以發(fā)現(xiàn),存在基礎(chǔ)庫一層,此層的作用,主要封裝了基礎(chǔ)能力,比如網(wǎng)絡(luò),數(shù)據(jù)操作,日志工具類,列表加載等等,目的是顯而易見的,就是為了便于拓展和后續(xù)的復(fù)用,因?yàn)檫@些能力是統(tǒng)一的,是每個(gè)項(xiàng)目都或多或少都是需要的,前期封裝好之后,無論后續(xù)多少個(gè)項(xiàng)目,我們都可以直接拿來用。

聚合層,它的作用,是把多個(gè)基礎(chǔ)庫,包裝成一個(gè)整體的庫,更方便上層的調(diào)用,但缺點(diǎn)也是很明顯的,有些可能上層用不到的基礎(chǔ)庫也被添加進(jìn)來了,造成包體積的增大,還有就是,基礎(chǔ)庫某個(gè)更新之后,聚合層也需要更新;所以基于此,在實(shí)際的開發(fā)中,大家也可以省略這一層,直接讓中間層和基礎(chǔ)庫層進(jìn)行對(duì)接。

中間層(common),一些公用的資源或者類的存放地,也作為各模塊數(shù)據(jù)傳遞的一個(gè)紐帶,它做為一個(gè)樞紐,是業(yè)務(wù)各模塊的必依賴項(xiàng)。

業(yè)務(wù)模塊,沒什么好說的,是業(yè)務(wù)層各個(gè)單獨(dú)的業(yè)務(wù)組件。

相關(guān)的模塊化拆分如下的項(xiàng)目所示:

image.png

二、模塊化向組件化切換

在上述的模塊化中,我們知道組件化和模塊化是類似的,只不過多了一個(gè)獨(dú)立運(yùn)行的功能,別小看這個(gè)獨(dú)立運(yùn)行的能力,在實(shí)際的開發(fā)中,能大大減少我們的編譯時(shí)間,提高我們的開發(fā)效率,畢竟全部編譯和局部編譯,還是有著很大的差距。

在模塊化中,只有entry主模塊是能夠獨(dú)立運(yùn)行的,如果向組件化進(jìn)行切換,意味著業(yè)務(wù)中每個(gè)獨(dú)立的模塊都可以運(yùn)行,如下結(jié)構(gòu)圖:

image.png

也就是把業(yè)務(wù)模塊,需要做成動(dòng)態(tài)設(shè)置,組件化時(shí),類型是entry可運(yùn)行狀態(tài),非組件化時(shí),類型是shared,也就是動(dòng)態(tài)包方式,不可運(yùn)行。

三、鴻蒙項(xiàng)目如何實(shí)現(xiàn)組件化

經(jīng)過上一節(jié)的概述,實(shí)現(xiàn)組件化就非常的簡單了,無非就是業(yè)務(wù)模塊的類型entry和shared切換即可,可是實(shí)際操作之后,缺發(fā)現(xiàn),不是僅僅修改一個(gè)類型便可以搞定的。

由于可運(yùn)行組件和動(dòng)態(tài)包有著很大的區(qū)別,如果想要把動(dòng)態(tài)包改為可運(yùn)行,那么所有的配置信息都要和運(yùn)行組件保持一致,經(jīng)過仔細(xì)地比對(duì)之后,發(fā)現(xiàn)有三處不同,分別如下:

開發(fā)環(huán)境

鴻蒙開發(fā)指南[docs.qq.com/doc/DUmN4VVhBd3NxdExK]

搜狗高速瀏覽器截圖20240326151547.png

或者+mau123789是v可直接添加拿
DevEco Studio 4.0 Beta2,Build Version: 4.0.0.400
Api版本:9
hvigorVersion:3.0.2

如果你的開發(fā)環(huán)境和以上不一致,那么幾處文件的不同之處也會(huì)不一樣,只需要改為你環(huán)境下的可運(yùn)行模塊也就是entry下的即可。

1、hvigorfile.ts不同

主模塊(entry,可運(yùn)行)

import { hapTasks } from '@ohos/hvigor-ohos-plugin';

export default {
system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins:[] /* Custom plugin to extend the functionality of Hvigor. */
}

普通模塊(動(dòng)態(tài)包,不可運(yùn)行)

import { hspTasks } from@ohos/hvigor-ohos-plugin’;

export default {  
system: hspTasks, /* Built-in plugin of Hvigor. It cannot be modified.  */  
plugins:[] /*  Custom plugin to extend the functionality of Hvigor. */  
}

2、module.json5不同

主模塊(entry,可運(yùn)行)

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone",
      "tablet"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ]
  }
}

普通模塊(動(dòng)態(tài)包,不可運(yùn)行)

{
  "module": {
    "name": "mine",
    "type": "shared",
    "description": "$string:shared_desc",
    "deviceTypes": [
      "phone",
      "tablet"
    ],
    "deliveryWithInstall": true,
    "pages": "$profile:main_pages"
  }
}

3、缺少入口ability

普通的動(dòng)態(tài)包是沒有Ability,這就導(dǎo)致的,無入口配置。

主模塊(entry,可運(yùn)行)

image.png

普通模塊(動(dòng)態(tài)包,不可運(yùn)行)

image.png

只需要把以上的三處不同更改之后,便可以達(dá)到組件的單獨(dú)運(yùn)行,需要注意的是,更改完之后,一定記得清除緩存,清除之前的配置信息,方可運(yùn)行成功。

雖然手動(dòng)更改能達(dá)到組件的運(yùn)行目標(biāo),但會(huì)有一個(gè)潛在的問題,那就很影響開發(fā)效率,你需要在可運(yùn)行和不可運(yùn)行兩種狀態(tài)下不停的進(jìn)行切換,那么就需要不斷地進(jìn)行更改這三處文件,是非常繁瑣的,不過,后續(xù)經(jīng)過自己的摸索,開發(fā)了一個(gè)動(dòng)態(tài)修改配置信息的腳本,使用腳本,便可很簡單的進(jìn)行切換。

四、使用腳本快速實(shí)現(xiàn)組件化運(yùn)行

鴻蒙的項(xiàng)目不像Android端,可以在gradle進(jìn)行腳本的編寫,所以無法很方便的進(jìn)行組件化的實(shí)現(xiàn),雖然不能配置腳本文件,但是能否借助外部的腳本來動(dòng)態(tài)的進(jìn)行組件化的切換呢?顯然是可以的,在HarmonyOS開始階段,環(huán)境配置我們使用到了NodeJs,那么我們就可以通過NodeJs來開發(fā)相關(guān)腳本。

腳本沒什么難的,只解決一個(gè)問題,那就是把手動(dòng)需要改的文件,改為程序去改,減少錯(cuò)誤率和提高開發(fā)效率。

下載腳本之后,有三個(gè)文件,如下圖所示,把文件復(fù)制到根項(xiàng)目下即可。
image.png

module.harmony:主要配置文件,所有的配置都在這里,以后的使用,也只要更改這一個(gè)文件即可。

#組件化配置文件
#是否開啟組件化
startModule=true
#開啟的組件名字,開啟后,當(dāng)前的組件可以獨(dú)立運(yùn)行
startModuleName=
#上述組件開啟后,其他非必要組件是否改為動(dòng)態(tài)包模式,默認(rèn)不改變
startOtherShared=false
#過濾組件名字,永遠(yuǎn)不會(huì)獨(dú)立運(yùn)行,以應(yīng)為逗號(hào)作為分割
filterModuleName=
#當(dāng)前腳本默認(rèn)加載的頁面,默認(rèn)不填是Index.ets
loadPage=

module.js:腳本邏輯文件,主要進(jìn)行組件化的內(nèi)容之間的切換。

package.json:一些配置信息,用于執(zhí)行。

module.harmony文件介紹

三個(gè)文件復(fù)制到根項(xiàng)目下之后,當(dāng)然了你也可以復(fù)制到其他地方,只關(guān)注module.harmony這一個(gè)文件即可,以后所有的操作都在這里進(jìn)行配置。

module.harmony文件里最重要的就兩個(gè)參數(shù),一個(gè)是startModule,一個(gè)是startModuleName;startModule用于是否開啟組件化,startModuleName是負(fù)責(zé)開啟哪個(gè)組件,兩個(gè)是結(jié)合使用的。當(dāng)startModule為true,自動(dòng)就會(huì)把startModuleName的值對(duì)應(yīng)的組件,改為可運(yùn)行狀態(tài),當(dāng)startModule為false,就只保留entry模塊為可運(yùn)行狀態(tài),其他均為不可運(yùn)行。

startOtherShared這個(gè)參數(shù),主要用于是否要把startModuleName對(duì)應(yīng)的組件之外的所有組件(不包含entry和過濾組件),改為動(dòng)態(tài)包模式,比如A模塊改為可運(yùn)行組件之后,又想把B模塊改為可運(yùn)行組件,這時(shí),是否要把A改回去,也就是動(dòng)態(tài)包不可運(yùn)行狀態(tài)。

filterModuleName參數(shù)沒啥好說的,如果項(xiàng)目中有固定狀態(tài)的模塊,就可以配置其中。

loadPage參數(shù),默認(rèn)配置的是Index.ets,沒有會(huì)自動(dòng)創(chuàng)建,如果你有默認(rèn)的頁面,可以配置這里,運(yùn)行組件后,會(huì)展示你配置的頁面。

腳本運(yùn)行

每次更改完配置文件module.harmony后,在當(dāng)前項(xiàng)目的根目錄下執(zhí)行如下的命令即可。

npm run module

五、腳本地址和相關(guān)總結(jié)

腳本開發(fā)環(huán)境:

DevEco Studio 4.0 Beta2,Build Version: 4.0.0.400
Api版本:9
hvigorVersion3.0.2

目前的組件化方式,和Android端的組件化有些類似,如果你的項(xiàng)目很龐大,比如,項(xiàng)目里也有很多獨(dú)立的小功能,類似美團(tuán)App中的,外賣,騎車等,那么我們就可以采取多hap的結(jié)構(gòu)開發(fā),目前鴻蒙是支持的,這種應(yīng)用是獨(dú)立的,隔離的;如果所有的模塊都有著一定的耦合,關(guān)聯(lián),一個(gè)主模塊和多個(gè)動(dòng)態(tài)模塊的形式,建議還是以文中組件化的方式開發(fā),可以大大提高你的編譯速度。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3973

    瀏覽量

    130288
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33113
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    191

    瀏覽量

    4998
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù)

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)
    的頭像 發(fā)表于 07-11 18:24 ?295次閱讀

    【HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實(shí)踐

    【HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##
    的頭像 發(fā)表于 07-11 18:20 ?290次閱讀
    【HarmonyOS 5】金融應(yīng)用<b class='flag-5'>開發(fā)</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>組件</b>實(shí)踐

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(二)

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(二) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、前言 今天我們繼續(xù)深入講解
    的頭像 發(fā)表于 07-11 18:17 ?271次閱讀
    【HarmonyOS 5】<b class='flag-5'>鴻蒙</b>中的UIAbility詳解(二)

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(音樂)

    各位開發(fā)者小伙伴們好呀!今天咱們來點(diǎn)硬核干貨!最近在鴻蒙文檔中心挖到一座“金礦”——官方竟然暗藏了100+實(shí)戰(zhàn)案例,從分布式架構(gòu)到交互動(dòng)效優(yōu)化應(yīng)有盡有!這些案例不僅藏著華為工程師的私房技巧,還直接
    的頭像 發(fā)表于 06-30 11:54 ?345次閱讀

    鴻蒙5開發(fā)寶藏案例分享---Swiper組件性能優(yōu)化實(shí)戰(zhàn)

    鴻蒙寶藏:Swiper組件性能優(yōu)化實(shí)戰(zhàn),告別卡頓丟幀! 大家好!最近在鴻蒙開發(fā)時(shí),偶然發(fā)現(xiàn)了官方文檔里埋藏的 性能優(yōu)化寶藏案例 ,尤其是<span class=\"
    發(fā)表于 06-12 17:53

    HarmonyOS實(shí)戰(zhàn):組件項(xiàng)目搭建

    前言 鴻蒙應(yīng)用開發(fā)已經(jīng)成為互聯(lián)網(wǎng)新的風(fēng)口,開發(fā)鴻蒙軟件已經(jīng)成為今年工作的核心目標(biāo)。在軟件開發(fā)過程中,對(duì)于復(fù)雜度較大,功能較多的軟件都會(huì)采用
    的頭像 發(fā)表于 06-09 14:58 ?221次閱讀
    HarmonyOS實(shí)戰(zhàn):<b class='flag-5'>組件</b><b class='flag-5'>化</b>項(xiàng)目搭建

    鴻蒙5開發(fā)案例分享揭秘---一多開發(fā)實(shí)例(商務(wù)辦公)

    ?【鴻蒙開發(fā)寶藏案例大揭秘】原來官方文檔里藏了這么多好東西! 大家好呀~最近在肝鴻蒙項(xiàng)目時(shí)意外扒出了官方文檔里的\"藏寶庫\"!原來那些讓人頭禿的跨端適配難題,官方早就準(zhǔn)備好
    發(fā)表于 06-03 16:24

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(地圖導(dǎo)航)

    案例!最近在肝鴻蒙項(xiàng)目時(shí)意外發(fā)現(xiàn)了這個(gè)地圖導(dǎo)航的\"一多\"開發(fā)實(shí)例,簡直像發(fā)現(xiàn)新大陸!這就帶大家沉浸式體驗(yàn)這個(gè)超實(shí)用的開發(fā)模板~ ? 先劃重點(diǎn):這個(gè)案例完美演示了如何用一套代碼搞定
    發(fā)表于 06-03 16:17

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(旅行訂票)

    ? 鴻蒙開發(fā)寶藏大發(fā)現(xiàn)!一多開發(fā)實(shí)戰(zhàn)案例解析(旅行訂票篇) 大家好!今天在翻鴻蒙開發(fā)者文檔時(shí),意外發(fā)現(xiàn)了官方藏著一整片\"案例綠洲\"!尤其
    發(fā)表于 06-03 16:16

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(即時(shí)通訊)

    ?鴻蒙\"一多\"開發(fā)寶藏指南:原來官方案例還能這么玩!? 大家好呀!我是剛在鴻蒙開發(fā)路上踩完坑的某不知名碼農(nóng),今天要給大家分享一個(gè)重大發(fā)現(xiàn)——原來HarmonyOS官方早就給我
    發(fā)表于 06-03 16:01

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實(shí)例(長視頻)

    ;) 看完是不是覺得鴻蒙的\"一多開發(fā)\"也沒那么玄乎?其實(shí)只要掌握自適應(yīng)布局+模塊設(shè)計(jì),一套代碼征服多設(shè)備真的可以輕松實(shí)現(xiàn)!大家在開發(fā)中還遇到過哪些頭禿的適配問題?歡迎在評(píng)論區(qū)開聊
    發(fā)表于 06-03 15:58

    UIAbility組件啟動(dòng)模式實(shí)例在啟動(dòng)時(shí)的不同呈現(xiàn)狀態(tài)

    UIAbility組件啟動(dòng)模式 UIAbility的啟動(dòng)模式是指UIAbility實(shí)例在啟動(dòng)時(shí)的不同呈現(xiàn)狀態(tài)。針對(duì)不同的業(yè)務(wù)場景,系統(tǒng)提供了三種啟動(dòng)
    發(fā)表于 05-16 06:10

    【McCharts】基于鴻蒙ArkTS語法開發(fā)的圖表組件--折線圖

    : 項(xiàng)目功能結(jié)構(gòu) 整體開發(fā)流程 這次開發(fā)我使用了鴻蒙的端云一體開發(fā)模式進(jìn)行整個(gè)項(xiàng)目的構(gòu)建
    發(fā)表于 03-15 15:27

    開源啦?。?!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來一起共創(chuàng)

    的地方請(qǐng)大家高抬貴手,寬容一下,謝謝。 這次主要是給大家?guī)硪粋€(gè)重磅消息,就是我自己使用鴻蒙ArkTS語法開發(fā)的圖表組件今日正式開源了。為什么?原因有兩點(diǎn)吧! 鴻蒙是國產(chǎn)的操作系統(tǒng),
    發(fā)表于 03-15 15:21

    HarmonyOS 應(yīng)用開發(fā)賦能套件:鴻蒙原生應(yīng)用開發(fā)的 “神助攻”

    熟悉鴻蒙開發(fā)過程,了解功能開發(fā)過程中使用的基礎(chǔ)組件,掌握應(yīng)用開發(fā)的必備技能。 開發(fā)上架階段:從設(shè)
    發(fā)表于 02-17 16:37