本公開涉及應(yīng)用開發(fā),尤其涉及一種基于flutter的應(yīng)用開發(fā)方法及裝置。
背景技術(shù):
1、隨著遠(yuǎn)程工作和在線協(xié)作的普及,越來越多的企業(yè)和個(gè)人需要高效的實(shí)時(shí)協(xié)作工具,然而現(xiàn)有的協(xié)作工具在開發(fā)及維護(hù)過程中存在許多問題,例如不能滿足跨平臺(tái)開發(fā)需求,實(shí)時(shí)協(xié)作功能的集成及實(shí)現(xiàn)過程比較復(fù)雜,開發(fā)周期長(zhǎng),用戶在不同設(shè)備或平臺(tái)上獲得的協(xié)作體驗(yàn)較差,此外,實(shí)時(shí)協(xié)作應(yīng)用中,數(shù)據(jù)安全與隱私保護(hù)也是至關(guān)重要的?;谝陨线@些問題,研究一種能夠簡(jiǎn)化實(shí)時(shí)協(xié)作應(yīng)用開發(fā)流程、提高開發(fā)效率與應(yīng)用性能、保證用戶隱私與數(shù)據(jù)安全的應(yīng)用開發(fā)方法尤為重要。
技術(shù)實(shí)現(xiàn)思路
1、本公開提供了一種基于flutter的應(yīng)用開發(fā)方法、裝置、設(shè)備以及存儲(chǔ)介質(zhì)。
2、根據(jù)本公開的第一方面,提供了一種基于flutter的應(yīng)用開發(fā)方法。該方法包括:
3、配置flutter開發(fā)環(huán)境,設(shè)置項(xiàng)目結(jié)構(gòu)和項(xiàng)目配置文件;
4、根據(jù)所述項(xiàng)目結(jié)構(gòu)和項(xiàng)目配置文件創(chuàng)建flutter項(xiàng)目;其中,所述flutter項(xiàng)目包括各業(yè)務(wù)模塊相應(yīng)的目錄;
5、在所述各業(yè)務(wù)模塊相應(yīng)的目錄下根據(jù)預(yù)設(shè)實(shí)現(xiàn)方法編寫業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)功能代碼,生成各業(yè)務(wù)模塊;
6、根據(jù)預(yù)先建立的ui組件庫利用響應(yīng)式設(shè)計(jì)方法建立ui界面;
7、將所述各業(yè)務(wù)模塊和ui界面打包生成應(yīng)用安裝包發(fā)布到各平臺(tái)。
8、在第一方面的一些可實(shí)現(xiàn)方式中,業(yè)務(wù)模塊,包括:
9、實(shí)時(shí)協(xié)作核心模塊、標(biāo)準(zhǔn)化組件模塊、權(quán)限管理模塊、版本控制模塊、跨平臺(tái)支持模塊、插件管理模塊、數(shù)據(jù)安全與隱私設(shè)置模塊。
10、在第一方面的一些可實(shí)現(xiàn)方式中,所述實(shí)時(shí)協(xié)作核心模塊,包括數(shù)據(jù)同步模塊和沖突處理模塊;其中,
11、所述數(shù)據(jù)同步模塊,用于通過websocket協(xié)議和數(shù)據(jù)合并策略實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)同步;
12、所述沖突處理模塊,用于采用樂觀并發(fā)控制策略并通過與數(shù)據(jù)同步模塊、插件管理模塊交互,避免多用戶對(duì)同一數(shù)據(jù)進(jìn)行操作時(shí)產(chǎn)生數(shù)據(jù)沖突以及合并多用戶對(duì)同一數(shù)據(jù)進(jìn)行的操作;
13、所述標(biāo)準(zhǔn)化組件模塊,用于創(chuàng)建標(biāo)準(zhǔn)化組件庫以及通過狀態(tài)管理工具對(duì)標(biāo)準(zhǔn)化組件庫中各組件的狀態(tài)進(jìn)行同步更新;
14、所述跨平臺(tái)支持模塊,用于識(shí)別不同平臺(tái)并針對(duì)不同平臺(tái)進(jìn)行適配與優(yōu)化。
15、在第一方面的一些可實(shí)現(xiàn)方式中,所述通過與數(shù)據(jù)同步模塊、插件管理模塊交互,避免多用戶對(duì)同一數(shù)據(jù)進(jìn)行操作時(shí)產(chǎn)生數(shù)據(jù)沖突以及合并多用戶對(duì)同一數(shù)據(jù)進(jìn)行的操作,包括:
16、所述在執(zhí)行用戶操作前檢查數(shù)據(jù)版本號(hào);若數(shù)據(jù)版本號(hào)一致,則通過數(shù)據(jù)同步模塊執(zhí)行用戶操作并更新數(shù)據(jù)版本號(hào);若數(shù)據(jù)版本號(hào)不一致,則通過數(shù)據(jù)同步模塊利用沖突檢測(cè)算法檢測(cè)數(shù)據(jù)沖突并將數(shù)據(jù)沖突發(fā)送給插件管理模塊處理,以便插件管理模塊利用沖突解決算法解決數(shù)據(jù)沖突并將解決結(jié)果返回至數(shù)據(jù)同步模塊,通過數(shù)據(jù)同步模塊合并多用戶對(duì)同一數(shù)據(jù)進(jìn)行的操作。
17、在第一方面的一些可實(shí)現(xiàn)方式中,所述插件管理模塊,用于通過標(biāo)準(zhǔn)api將自定義插件與實(shí)時(shí)協(xié)作核心模塊以及標(biāo)準(zhǔn)化組件模塊進(jìn)行交互,并對(duì)自定義插件進(jìn)行管理;
18、所述權(quán)限管理模塊,用于為不同用戶分配相應(yīng)的操作權(quán)限;
19、所述數(shù)據(jù)安全與隱私設(shè)置模塊,用于通過端到端加密方法確保數(shù)據(jù)傳輸?shù)陌踩?,還用于通過隱私設(shè)置選項(xiàng)確保用戶根據(jù)需要設(shè)置數(shù)據(jù)共享范圍及協(xié)作權(quán)限;
20、所述版本控制模塊,用于記錄應(yīng)用變更的歷史版本,以便用戶查看、比較或返回至歷史版本。
21、在第一方面的一些可實(shí)現(xiàn)方式中,所述插件管理模塊,用于通過標(biāo)準(zhǔn)api將自定義插件與實(shí)時(shí)協(xié)作核心模塊以及標(biāo)準(zhǔn)化組件模塊進(jìn)行交互,包括:
22、所述插件管理模塊,用于根據(jù)開發(fā)者特定需求建立自定義插件,將所述自定義插件加入標(biāo)準(zhǔn)化組件模塊中的標(biāo)準(zhǔn)化組件庫以擴(kuò)展應(yīng)用中各組件的功能;還用于通過標(biāo)準(zhǔn)api將自定義插件與實(shí)時(shí)協(xié)作核心模塊進(jìn)行交互以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)同步、避免數(shù)據(jù)沖突。
23、在第一方面的一些可實(shí)現(xiàn)方式中,所述將所述業(yè)務(wù)模塊和ui界面打包生成應(yīng)用安裝包發(fā)布到各平臺(tái)之前,包括:
24、分別對(duì)各業(yè)務(wù)模塊進(jìn)行測(cè)試;
25、若測(cè)試全部成功,則使用flutter命令行工具將所述業(yè)務(wù)模塊和ui界面打包生成應(yīng)用安裝包發(fā)布到各平臺(tái);
26、若存在測(cè)試失敗的情況,則修復(fù)測(cè)試失敗的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)功能代碼,并重復(fù)測(cè)試修復(fù)完的業(yè)務(wù)模塊直至測(cè)試成功。
27、根據(jù)本公開的第二方面,提供了一種基于flutter的應(yīng)用開發(fā)裝置。該裝置包括:
28、flutter項(xiàng)目創(chuàng)建模塊,用于配置flutter開發(fā)環(huán)境,設(shè)置項(xiàng)目結(jié)構(gòu)和項(xiàng)目配置文件;根據(jù)所述項(xiàng)目結(jié)構(gòu)和項(xiàng)目配置文件創(chuàng)建flutter項(xiàng)目;其中,所述flutter項(xiàng)目包括各業(yè)務(wù)模塊相應(yīng)的目錄;
29、業(yè)務(wù)程序生成模塊,用于在所述各業(yè)務(wù)模塊相應(yīng)的目錄下根據(jù)預(yù)設(shè)實(shí)現(xiàn)方法編寫業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)功能代碼,生成各業(yè)務(wù)模塊;
30、ui界面建立模塊,用于根據(jù)預(yù)先建立的ui組件庫利用響應(yīng)式設(shè)計(jì)方法建立ui界面;
31、應(yīng)用發(fā)布模塊,用于將所述業(yè)務(wù)模塊和ui界面打包生成應(yīng)用安裝包發(fā)布到各平臺(tái)。
32、根據(jù)本公開的第三方面,提供了一種電子設(shè)備。該電子設(shè)備包括:至少一個(gè)處理器;以及與至少一個(gè)處理器通信連接的存儲(chǔ)器;存儲(chǔ)器存儲(chǔ)有可被至少一個(gè)處理器執(zhí)行的指令,指令被至少一個(gè)處理器執(zhí)行,以使至少一個(gè)處理器能夠執(zhí)行如上所述的方法。
33、根據(jù)本公開的第四方面,提供了一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行如上所述的方法。
34、在本公開中,配置flutter開發(fā)環(huán)境,設(shè)置項(xiàng)目結(jié)構(gòu)和項(xiàng)目配置文件;根據(jù)項(xiàng)目結(jié)構(gòu)和項(xiàng)目配置文件創(chuàng)建flutter項(xiàng)目;其中,flutter項(xiàng)目包括各業(yè)務(wù)模塊相應(yīng)的目錄;在各業(yè)務(wù)模塊相應(yīng)的目錄下根據(jù)預(yù)設(shè)實(shí)現(xiàn)方法編寫業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)功能代碼,生成各業(yè)務(wù)模塊;根據(jù)預(yù)先建立的ui組件庫利用響應(yīng)式設(shè)計(jì)方法建立ui界面;將各業(yè)務(wù)模塊和ui界面打包生成應(yīng)用安裝包發(fā)布到各平臺(tái)。以此方式,簡(jiǎn)化了多人實(shí)時(shí)協(xié)作應(yīng)用的開發(fā)流程,提高了開發(fā)效率及應(yīng)用性能,保證了用戶隱私及數(shù)據(jù)安全。
35、應(yīng)當(dāng)理解,
技術(shù)實(shí)現(xiàn)要素:
部分中所描述的內(nèi)容并非旨在限定本公開的實(shí)施例的關(guān)鍵或重要特征,亦非用于限制本公開的范圍。本公開的其它特征將通過以下的描述變得容易理解。
1.一種基于flutter的應(yīng)用開發(fā)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述業(yè)務(wù)模塊,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述通過與數(shù)據(jù)同步模塊、插件管理模塊交互,避免多用戶對(duì)同一數(shù)據(jù)進(jìn)行操作時(shí)產(chǎn)生數(shù)據(jù)沖突以及合并多用戶對(duì)同一數(shù)據(jù)進(jìn)行的操作,包括:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述插件管理模塊,用于通過標(biāo)準(zhǔn)api將自定義插件與實(shí)時(shí)協(xié)作核心模塊以及標(biāo)準(zhǔn)化組件模塊進(jìn)行交互,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,
8.一種基于flutter的應(yīng)用開發(fā)裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)指令用于使所述計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求1-7中任一權(quán)利要求所述的方法。