本發(fā)明涉及智能家居/智慧家庭,具體提供一種跨平臺軟件開發(fā)方法、設(shè)備及介質(zhì)。
背景技術(shù):
1、移動應(yīng)用開發(fā)的安全問題越來越受到關(guān)注,開發(fā)人員需要確保程序的安全性和用戶隱私的保護(hù)。
2、隨著harmonyos系統(tǒng)的問世,代碼復(fù)用的問題也越來越突出,一個應(yīng)用程序可能需要同時維護(hù)android、ios、harmonyos三套代碼,應(yīng)用程序的維護(hù)成本越來越高,需要開發(fā)人員重復(fù)編寫代碼。
3、為此,本申請?zhí)岢鲆环N跨平臺軟件開發(fā)方案。
技術(shù)實現(xiàn)思路
1、為了克服上述缺陷,提出了本申請,以提供解決或至少部分地解決現(xiàn)有開發(fā)方法針對不同的系統(tǒng)需要重復(fù)編寫代碼、導(dǎo)致維護(hù)成本較高的技術(shù)問題。本申請?zhí)峁┝艘环N跨平臺軟件開發(fā)方法、設(shè)備及介質(zhì)。
2、在第一方面,本申請?zhí)峁┮环N跨平臺軟件開發(fā)方法,其所述方法包括:
3、獲取目標(biāo)平臺的系統(tǒng)類型;
4、基于所述系統(tǒng)類型配置編譯環(huán)境;
5、創(chuàng)建目標(biāo)項目工程;
6、基于所述編譯環(huán)境和所述目標(biāo)項目工程獲取庫文件,所述庫文件與所述目標(biāo)平臺的系統(tǒng)類型對應(yīng);
7、將所述庫文件發(fā)布至預(yù)設(shè)倉庫,以使得基于所述庫文件獲得目標(biāo)應(yīng)用程序。
8、在本申請一個實施方式中,所述基于所述系統(tǒng)類型配置編譯環(huán)境,包括:
9、安裝rust編譯器;
10、基于所述系統(tǒng)類型安裝rust工具鏈。
11、在本申請一個實施方式中,所述創(chuàng)建目標(biāo)項目工程,包括:
12、選擇代碼編輯器;
13、利用所述代碼編輯器創(chuàng)建目標(biāo)項目;
14、為所述目標(biāo)項目編寫rust代碼,以獲得所述目標(biāo)項目工程。
15、在本申請一個實施方式中,所述基于所述編譯環(huán)境和所述目標(biāo)項目工程獲取與所述系統(tǒng)類型對應(yīng)的庫文件,包括:
16、利用所述編譯環(huán)境中的rust編譯器對所述目標(biāo)項目工程進(jìn)行編譯,獲得所述目標(biāo)項目工程對應(yīng)的二進(jìn)制文件;
17、將所述二進(jìn)制文件打包成與所述系統(tǒng)類型對應(yīng)的庫文件。
18、在本申請一個實施方式中,所述rust工具鏈包括cargo-ndk工具和cargo-lipo工具中的任意一種;
19、將所述二進(jìn)制文件打包成與所述系統(tǒng)類型對應(yīng)的庫文件,包括:
20、在所述系統(tǒng)類型為android時,基于所述cargo-ndk工具將所述二進(jìn)制文件進(jìn)行打包,獲得與所述系統(tǒng)類型對應(yīng)的庫文件;
21、在所述系統(tǒng)類型為ios時,基于所述cargo-lipo工具將所述二進(jìn)制文件進(jìn)行打包,獲得與所述系統(tǒng)類型對應(yīng)的庫文件;
22、在所述系統(tǒng)類型為harmonyos時,配置clang鏈接腳本,基于已配置的clang鏈接腳本將所述二進(jìn)制文件進(jìn)行打包,獲得與所述系統(tǒng)類型對應(yīng)的庫文件。
23、在本申請一個實施方式中,所述將所述庫文件發(fā)布至預(yù)設(shè)倉庫,包括:
24、創(chuàng)建集成模塊;
25、將所述庫文件集成至所述集成模塊;
26、將所述集成模塊發(fā)布至所述預(yù)設(shè)倉庫。
27、在本申請一個實施方式中,所述創(chuàng)建集成模塊,包括:
28、在所述系統(tǒng)類型為android時,使用android?studio創(chuàng)建所述集成模塊;
29、在所述系統(tǒng)類型為ios時,使用xcode創(chuàng)建所述集成模塊;
30、在所述系統(tǒng)類型為harmonyos時,使用dev-echo創(chuàng)建所述集成模塊。
31、在本申請一個實施方式中,所述將所述集成模塊發(fā)布至所述預(yù)設(shè)倉庫,包括:
32、在所述系統(tǒng)類型為android時,將所述集成模塊發(fā)布到maven倉庫;
33、在所述系統(tǒng)類型為ios時,將所述集成模塊發(fā)布至git服務(wù)器;
34、在所述系統(tǒng)類型為harmonyos時,將所述集成模塊發(fā)布至預(yù)設(shè)倉庫。
35、在第二方面,提供一種計算機(jī)設(shè)備,包括:
36、至少一個處理器;
37、以及,與所述至少一個處理器通信連接的存儲器;
38、其中,所述存儲器中存儲有計算機(jī)程序,所述計算機(jī)程序被所述至少一個處理器執(zhí)行時前述的跨平臺軟件開發(fā)方法。
39、在第三方面,提供一種計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)其中存儲有多條程序代碼,所述程序代碼適于由處理器加載并運(yùn)行以執(zhí)行前述任一項所述的跨平臺軟件開發(fā)方法。
40、本申請上述一個或多個技術(shù)方案,至少具有如下一種或多種有益效果:
41、本申請中的跨平臺軟件開發(fā)方法包括:獲取目標(biāo)平臺的系統(tǒng)類型;基于系統(tǒng)類型配置編譯環(huán)境;創(chuàng)建目標(biāo)項目工程;基于編譯環(huán)境和目標(biāo)項目工程獲取與系統(tǒng)類型對應(yīng)的庫文件;將庫文件發(fā)布至預(yù)設(shè)倉庫,以使得基于庫文件獲得目標(biāo)應(yīng)用程序。如此,開發(fā)者只需維護(hù)一套核心代碼庫,減少了重復(fù)勞動,提高了開發(fā)速度。通過一次編寫,多處運(yùn)行的方式,減少了為每個平臺單獨開發(fā)的時間和成本。根據(jù)不同的系統(tǒng)類型自動配置編譯環(huán)境,減少了手動配置的工作量,降低了出錯的可能性。通過創(chuàng)建統(tǒng)一的目標(biāo)項目工程,可以復(fù)用相同的代碼庫,減少代碼冗余。生成的庫文件可以在不同的平臺上被重用,避免了為每個平臺編寫相似功能的代碼。維護(hù)單一的核心代碼庫比維護(hù)多個平臺特定的代碼庫更簡單,降低了代碼維護(hù)成本。
1.一種跨平臺軟件開發(fā)方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的跨平臺軟件開發(fā)方法,其特征在于,所述基于所述系統(tǒng)類型配置編譯環(huán)境,包括:
3.根據(jù)權(quán)利要求1所述的跨平臺軟件開發(fā)方法,其特征在于,所述創(chuàng)建目標(biāo)項目工程,包括:
4.根據(jù)權(quán)利要求1所述的跨平臺軟件開發(fā)方法,其特征在于,所述基于所述編譯環(huán)境和所述目標(biāo)項目工程獲取與所述系統(tǒng)類型對應(yīng)的庫文件,包括:
5.根據(jù)權(quán)利要求4所述的跨平臺軟件開發(fā)方法,其特征在于,所述rust工具鏈包括cargo-ndk工具和cargo-lipo工具中的任意一種;
6.根據(jù)權(quán)利要求1所述的跨平臺軟件開發(fā)方法,其特征在于,所述將所述庫文件發(fā)布至預(yù)設(shè)倉庫,包括:
7.根據(jù)權(quán)利要求6所述的跨平臺軟件開發(fā)方法,其特征在于,所述創(chuàng)建集成模塊,包括:
8.根據(jù)權(quán)利要求6所述的跨平臺軟件開發(fā)方法,其特征在于,所述將所述集成模塊發(fā)布至所述預(yù)設(shè)倉庫,包括:
9.一種計算機(jī)設(shè)備,其特征在于,包括:
10.一種計算機(jī)可讀存儲介質(zhì),其中存儲有多條程序代碼,其特征在于,所述程序代碼適于由處理器加載并運(yùn)行以執(zhí)行權(quán)利要求1至8中任一項所述的跨平臺軟件開發(fā)方法。