基于Firefox OS應用的生成方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明屬于應用生成領域,尤其涉及一種基于Firefox OS應用的生成方法及裝置。
【背景技術】
[0002]Firefox OS是一種基于網(wǎng)絡的智能終端操作系統(tǒng),其內部的應用全部使用傳統(tǒng)的web語言開發(fā)。眾所周知,web語言具有開發(fā)簡單,應用范圍廣的優(yōu)點,但其缺陷是運行速度慢。
[0003]在內存和CPU資源有限的移動終端,這種缺陷體現(xiàn)的更為明顯:比如,一個web應用從啟動到顯示的過程中,需要加載html,js,css等多種文件,而加載js文件的過程中由于需要大量的語法解析和執(zhí)行,因此加載js文件尤其慢,從而使得一個web應用從啟動到顯示的過程需要較長的時間。
[0004]現(xiàn)有的基于Firefox OS應用的生成方法中,通常將應用按功能分為很多模塊,且為了功能模塊清晰和程序可讀性好,按不同功能模塊增加對應的js文件,但這樣在應用運行時需要加載的文件的次數(shù)會增加,從而降低應用運行速度。
【發(fā)明內容】
[0005]本發(fā)明實施例提供了基于Firefox OS應用的生成方法及裝置,旨在解決現(xiàn)有方法在應用運行時需要加載的文件的次數(shù)過多,從而降低應用運行速度的問題。
[0006]本發(fā)明實施例是這樣實現(xiàn)的,一種基于Firefox OS應用的生成方法,所述方法包括下述步驟:
[0007]解析應用程序源代碼html中的元素,以得到引用路徑;所述html中的元素包括有文本引用路徑和應用程序啟動需要的文件的引用路徑;
[0008]在得到的引用路徑?jīng)]有指向所述應用程序源代碼的公共資源時,解析包括有應用程序啟動需要的文件的引用路徑的元素,以判斷元素中的引用路徑對應的文件是否為應用程序啟動時必須加載的資源;
[0009]在元素中的引用路徑對應的文件為應用程序啟動時必須加載的資源時,將所述引用路徑對應的文件的內容合并為一個文件;
[0010]根據(jù)合并后的文件與獲取的配置文件生成新的應用程序包。
[0011]本發(fā)明實施例的另一目的在于提供一種基于Firefox OS應用的生成裝置,所述裝置包括:
[0012]引用路徑獲取單元,用于解析應用程序源代碼html中的元素,以得到引用路徑;所述html中的元素包括有文本引用路徑和應用程序啟動需要的文件的引用路徑;
[0013]資源屬性判斷單元,用于在得到的引用路徑?jīng)]有指向所述應用程序源代碼的公共資源時,解析包括有應用程序啟動需要的文件的引用路徑的元素,以判斷元素中的引用路徑對應的文件是否為應用程序啟動時必須加載的資源;
[0014]文件內容合并單元,用于在元素中的引用路徑對應的文件為應用程序啟動時必須加載的資源時,將所述引用路徑對應的文件的內容合并為一個文件;
[0015]應用包生成單元,用于根據(jù)合并后的文件與獲取的配置文件生成新的應用程序包。
[0016]在本發(fā)明實施例中,由于將應用程序啟動時必須加載的資源合并為一個文件,因此在應用程序啟動時只需發(fā)送一次資源請求就能加載合并后文件內的所有資源,從而提高了應用程序的啟動速度。
【附圖說明】
[0017]圖1是本發(fā)明第一實施例提供的一種基于Firefox OS應用的生成方法的流程圖;
[0018]圖2是本發(fā)明第二實施例提供的合并文件的示意圖;
[0019]圖3是本發(fā)明第二實施例提供的一種基于Firefox OS應用的生成裝置的結構圖。
【具體實施方式】
[0020]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]本發(fā)明實施例中,解析應用程序源代碼html中的元素,以得到引用路徑,在得到的引用路徑?jīng)]有指向所述應用程序源代碼的公共資源時,解析包括有應用程序啟動需要的文件的引用路徑的元素,以判斷元素中的引用路徑對應的文件是否為應用程序啟動時必須加載的資源,在元素中的引用路徑對應的文件為應用程序啟動時必須加載的資源時,將所述引用路徑對應的文件的內容合并為一個文件,根據(jù)合并后的文件與獲取的配置文件生成新的應用程序包。
[0022]為了說明本發(fā)明所述的技術方案,下面通過具體實施例來進行說明。
[0023]實施例一:
[0024]圖1示出了本發(fā)明第一實施例提供的一種基于Firefox OS應用的生成方法的流程圖,其中,本發(fā)明實施例的應用的生成方法是指應用程序包的生成方法,詳述如下:
[0025]步驟S11,解析應用程序源代碼html中的元素,以得到引用路徑;所述html中的元素包括有文本引用路徑和應用程序啟動需要的文件的引用路徑。
[0026]優(yōu)選地,在步驟S11,解析應用程序源代碼html中的元素之前,包括下述步驟??從系統(tǒng)源代碼中查找應用程序源代碼。具體地,可通過編譯器對系統(tǒng)源代碼進行編譯實現(xiàn)。其中,系統(tǒng)源代碼是指整個移動智能系統(tǒng)的源程序和資源,其包括應用程序源代碼和公共資源文件。
[0027]在該步驟SI I中,應用程序源代碼包括超文本標記語言(html),該html還包括多個元素,這些元素中,有的包括有文本的引用路徑,如link(鏈接)元素,有的包括文件(如js類型等文件)的引用路徑,如script (腳本)元素,文件是必須經(jīng)過解析才能獲取,而文本直接就可以獲取,當然,在實際情況中,包括有文本引用路徑和應用程序啟動需要的文件的引用路徑的元素也可以為其他元素,此處不作限定。通過解析包括有文本引用路徑和應用程序啟動需要的文件的引用路徑的元素,能夠獲得該元素對應的文本引用路徑和應用程序啟動需要的文件的引用路徑。
[0028]步驟S12,在得到的引用路徑?jīng)]有指向所述應用程序源代碼的公共資源時,解析包括有應用程序啟動需要的文件的引用路徑的元素,以判斷元素中的引用路徑對應的文件是否為應用程序啟動時必須加載的資源。
[0029]其中,該步驟的公共資源包括源代碼文件和/或圖片和/或多國字串等。
[0030]在該步驟中,判斷得到的引用路徑是否指向所述應用程序源代碼的公共資源,若沒有,則解析包括有應用程序啟動需要的文件的引用路徑的元素所在的位置,如在有文件的引用路徑的元素為script時,解析該script元素所在的位置。在得到的引用路徑指向所述應用程序源代碼的公共資源時,從引用路徑獲取公共資源的名稱,并將獲取的公共資源的名稱寫入配置文件中,以生成新的配置文件,該配置文件除了存儲有公共資源的名稱外,還包括有文件的權限等其他參數(shù)。然后根據(jù)生成的新的配置文件形成新的應用程序包,進一步地,也可以根據(jù)生成的新的配置文件與步驟S12中元素中的引用路徑對應的文件為應用程序啟動時不必須加載的資源一起形成新的應用程序包。
[0031]優(yōu)選地,在所述將獲取的公共資源的名稱寫入配置文件中的步驟之后,包括下述步驟:
[0032]Al、從配置文件中獲取公共資源的名稱。其中,由于配置文件中存入公共資源的名稱,通過解析該配置文件就能夠獲取公共資源的名稱。
[0033]A2、根據(jù)獲取的公共資源的名稱和預設的公共接口,生成并存儲所述公共資源的絕對路徑。該步驟中,預設的公共接口為所有公共資源的公共接口,該公共接口和具體