TW201709057A - Method and system for creating APP respectively editing a set of program codes and content data corresponding to the set of program codes in the editing interface - Google Patents
Method and system for creating APP respectively editing a set of program codes and content data corresponding to the set of program codes in the editing interface Download PDFInfo
- Publication number
- TW201709057A TW201709057A TW104126786A TW104126786A TW201709057A TW 201709057 A TW201709057 A TW 201709057A TW 104126786 A TW104126786 A TW 104126786A TW 104126786 A TW104126786 A TW 104126786A TW 201709057 A TW201709057 A TW 201709057A
- Authority
- TW
- Taiwan
- Prior art keywords
- code
- content data
- mobile application
- editing interface
- editing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 244000035744 Hura crepitans Species 0.000 claims abstract description 36
- 238000012360 testing method Methods 0.000 claims description 39
- 239000000463 material Substances 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims 1
- 239000004576 sand Substances 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000001131 transforming effect Effects 0.000 abstract 1
- 238000011161 development Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005355 Hall effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本發明關於一種生成行動應用程式的方法和系統,特別是關於一種可藉由在行動裝置上運行的行動應用程式來生成行動應用程式的方法和系統。行動應用程式的製作不必依靠個人電腦端複雜的開發環境,這有助於行動應用程式的開發推廣。 The present invention relates to a method and system for generating a mobile application, and more particularly to a method and system for generating a mobile application by a mobile application running on a mobile device. The production of mobile applications does not have to rely on the complex development environment of the PC, which helps the development and promotion of mobile applications.
行動應用程式(APP)是現下最熱門的行動通訊產品。每一個行動應用程式可以利用安裝它的行動裝置中既有的硬體,提供使用者特定的服務。比如導航行動應用程式利用手機中的GPS模組,告知使用者目前位置,並能進一步對使用者想去的地方,提供視覺化的導航服務;又遊戲行動應用程式可以透過觸控螢幕的編輯,將遊戲內容與對玩家的互動結果,以影像(透過觸控螢幕)及聲音(透過喇叭模組)的方式呈現出來,達到娛樂效果;社群行動應用程式則藉由用戶行動裝置與雲端伺服器連接,及時與世界任何角落的朋友進行線上溝通,這樣可省去不少傳統使用電話通訊的成本, 更能彼此透過該行動應用程式,分享影音檔案與工作文件。由以上說明可知,行動應用程式的發展,方興未艾。 The Mobile App (APP) is the most popular mobile communication product. Each mobile application can provide user-specific services using the hardware already in its mobile device. For example, the navigation action application uses the GPS module in the mobile phone to inform the user of the current location, and can further provide a visual navigation service to the place where the user wants to go; and the game action application can be edited through the touch screen. The content of the game and the interaction with the player are presented in the form of images (via touch screen) and sound (via speaker module) for entertainment effects; the social mobile application uses user mobile devices and cloud servers. Connect and communicate with friends in any corner of the world in time, which saves the cost of traditional telephone communication. It is better to share audio and video files and working documents with each other through the mobile app. As can be seen from the above description, the development of mobile applications is in the ascendant.
對於開發各種行動應用程式的工程師而言,雖然有許多的工具或程式庫可以協助開發,但這工作的本身是相當繁瑣及耗時的。一個完整的行動應用程式必須要能在各個平台上運作,然而,這些平台彼此除了架構不同,用來開發的工具(程式語言)也不同。目前坊間較大的平台有Android與iOS兩大系統,各自使用JAVA與Objective C來開發行動應用程式。由於行動裝置的硬體元件日新月異,各種程式語言對應的程式語法也隨之更迭,一個開發工程師要能精通一個程式語言的應用已經不容易,為了完成一個專案而要能左右於兩個程式語言之間,實屬不易。這還不包括介面編輯與雲端資料庫的設計。是故,近來各種開發工具不斷出現,提供開發工程師一個整合性跨平台的開發環境。這樣的開發環境可以一套程式語言程式碼,編譯為不同系統的目的檔,藉由執行環境(Run-time Environment)而運作。跨平台的開發環境符合市場需求,然而不利的一點是這樣的架構需要大量的電腦資源,一般來說都會在個人電腦中載入龐大的軟體內容,運作的介面與輔助程式庫的態樣也十分繁雜。若要將這樣的編譯執行行動應用程式的工作移植到其它行動裝置,如平板電腦上,目前還沒有合適的工具。 For engineers who develop a variety of mobile applications, there are many tools or libraries that can assist with development, but the work itself is quite cumbersome and time consuming. A complete mobile application must be able to run on various platforms. However, these platforms have different tools for each other (program languages). At present, the larger platforms in the market include Android and iOS systems, each using JAVA and Objective C to develop mobile applications. Since the hardware components of mobile devices are changing with each passing day, the syntax of the programs corresponding to various programming languages is also changed. It is not easy for a development engineer to be proficient in the application of a programming language. In order to complete a project, it is necessary to control the two programming languages. It is not easy. This does not include the design of interface editing and cloud repositories. Therefore, various development tools have emerged recently, providing development engineers with an integrated cross-platform development environment. Such a development environment can be compiled into a set of programming language code, compiled into a different system's destination file, and operated by a Run-time Environment. The cross-platform development environment meets the market demand. However, the disadvantage is that such an architecture requires a large amount of computer resources. Generally speaking, a large amount of software content is loaded in a personal computer, and the interface of the operation and the auxiliary library are also very good. Complex. To port the work of compiling and executing mobile applications to other mobile devices, such as tablets, there is currently no suitable tool.
此外,除了開發工具的跨平台與電腦資源問題,另 一個衍伸的問題是關於行動應用程式開發教學。由於開發工具或程式語言的編程成果(程式碼)要載入行動裝置中才能看見運作效果,電腦端使用的模擬器往往不能有效模擬新款行動裝置的硬體,造成使用者的螢幕可能無法完整顯示內容,或新型G-sensor無法有效驅動等等不便的問題。這種情況,會使得很多有興趣開發行動應用程式的人,在不斷除錯的過程裡減少對編程的興趣,最後放棄。如何改善行動應用程式編程環境,這也是一個行動應用程式開發的課題。 In addition, in addition to cross-platform and computer resource issues with development tools, An extended question is about mobile application development teaching. Since the programming results (codes) of the development tools or programming languages are to be loaded into the mobile device to see the operation effect, the simulator used on the computer side cannot effectively simulate the hardware of the new mobile device, and the user's screen may not be fully displayed. Content, or the new G-sensor can not effectively drive and so on. This situation will make many people interested in developing mobile applications less interested in programming in the process of continuous debugging, and finally give up. How to improve the mobile application programming environment is also a topic of mobile application development.
最後,由於目前行動應用程式的發佈是通過不同的 管道,比如應用於iOS的行動應用程式透過Apple Store、應用於Android的行動應用程式透過Google Play Store、以HTML5開發的行動應用程式則可能透過特定URL取得。要達成同時發布一款行動應用程式到各個管道中,除了程式碼要具備不同的版本,發布過程本身是非常麻煩的作業。如何利用雲端資源,進而減少前述的麻煩,也是行動應用程式開發面臨的考驗。 Finally, since the current mobile app is released through different Pipes, such as mobile apps for iOS through the Apple Store, mobile apps for Android through the Google Play Store, mobile apps developed in HTML5 may be obtained through a specific URL. In order to achieve the simultaneous release of a mobile application to each pipeline, in addition to the different versions of the code, the release process itself is a very cumbersome task. How to use cloud resources to reduce the aforementioned troubles is also a test for mobile application development.
是故,一種新型態的生成行動應用程式的方法和系 統亟為所需。藉由該方法和系統,行動應用程式可在行動裝置中產生,電腦資源消耗量少,不必依賴個人電腦進行開發作;產生的行動應用程式可以是針對該行動裝置的作業系統,或者是跨平台的;該方法和系統要能助於行動應用程式的開 發教學;最好,該系統中包含雲端作業裝置,能夠將一種程式碼及其內容資料,封裝為各種可執行檔,由雲端發佈到不同的管道中,供使用者下載。 Therefore, a new type of method and system for generating mobile applications Reconciliation is required. With the method and system, the mobile application can be generated in the mobile device, the computer resource consumption is small, and the personal computer is not required to be developed; the generated mobile application can be an operating system for the mobile device, or cross-platform The method and system should be able to facilitate the opening of mobile applications It is preferred that the system includes a cloud-based operating device that can package a program code and its content data into various executable files, which are distributed by the cloud to different pipelines for users to download.
本段文字提取和編譯本發明的某些特點。其它特點將被揭露於後續段落中。其目的在涵蓋附加的申請專利範圍之精神和範圍中,各式的修改和類似的排列。 This paragraph of text extracts and compiles certain features of the present invention. Other features will be revealed in subsequent paragraphs. The intention is to cover various modifications and similar arrangements in the spirit and scope of the appended claims.
為了解決上述的問題,本發明揭露一種生成行動應用程式(APP)的方法。該方法包括步驟:A.安裝一第一行動應用程式到一行動裝置中;B.執行該第一行動應用程式以於行動裝置上顯示一編輯介面;C.在該編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料;D.經由該行動裝置的一作業系統,儲存該組程式碼與內容資料到一沙箱(sandbox)框架中的一儲存區塊中;E.經由安裝於行動裝置的一編譯器(compiler),編譯該組程式碼與內容資料為一目的檔(object file);及F.經由安裝於行動裝置的一連結器(Linker),將該目的檔轉換為可在該作業系統中執行的一第二行動應用程式。其中該編輯介面能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 In order to solve the above problems, the present invention discloses a method of generating a mobile application (APP). The method includes the steps of: A. installing a first mobile application into a mobile device; B. executing the first mobile application to display an editing interface on the mobile device; C. editing a group separately in the editing interface a code and a content data corresponding to the set of code; D. storing the set of code and content data into a storage block in a sandbox frame via an operating system of the mobile device; a compiler installed on the mobile device, compiling the set of code and content data into an object file; and F. converting the destination file via a linker installed on the mobile device A second mobile application that can be executed in the operating system. The editing interface can respond to changes in the content data in a timely manner and display the interface of the second mobile application.
依照本案構想,前述的方法進一步於步驟D後包含步驟:D1.讀取該組程式碼及/或內容資料;D2.編輯該組程式碼及/或內容資料;及D3.經由該作業系統,儲存編輯後的 該組程式碼及/或內容資料到該儲存區塊中。最好,進一步於步驟D後包含步驟:D4.於沙箱框架中對該程式碼進行語法測試;及D5.若測試後發現該程式碼的語法有誤,顯示相關錯誤訊息於該編輯介面中且不進行步驟E;若測試後發現該程式碼的語法無誤,進行步驟E。 According to the concept of the present invention, the foregoing method further comprises the steps of: D1. reading the set of code and/or content data; D2. editing the set of code and/or content data; and D3. via the operating system, Save edited The set of code and/or content data is stored in the storage block. Preferably, the step further comprises the step of: D4. performing a syntax test on the code in the sandbox frame; and D5. if the code of the code is found to be incorrect after the test, displaying the relevant error message in the editing interface. Step E is not performed; if the syntax of the code is found to be correct after the test, step E is performed.
本發明又揭露一種生成行動應用程式的方法,包含步驟:A.安裝一第一行動應用程式到一行動裝置中,該第一行動應用程式中包含一執行引擎;B.藉由該執行引擎執行該第一行動應用程式,以於行動裝置上顯示一編輯介面;C.在該編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料;D.經由該行動裝置的一作業系統,儲存該組程式碼與內容資料到一沙箱框架中的一儲存區塊中;E.封裝該執行引擎、該組程式碼與內容資料為一第二行動應用程式。其中該編輯介面能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 The invention further discloses a method for generating a mobile application, comprising the steps of: A. installing a first mobile application into a mobile device, the first mobile application comprising an execution engine; B. executing by the execution engine The first mobile application displays an editing interface on the mobile device; C. edits a set of code and the content data corresponding to the set of codes in the editing interface; D. an operating system via the mobile device And storing the set of code and content data into a storage block in a sandbox frame; E. encapsulating the execution engine, the set of code and content data as a second mobile application. The editing interface can respond to changes in the content data in a timely manner and display the interface of the second mobile application.
依照本案構想,前述的方法進一步於步驟D後包含步驟:D1.讀取該組程式碼及/或內容資料;D2.編輯該組程式碼及/或內容資料;及D3.經由該作業系統,儲存編輯後的該組程式碼及/或內容資料到該儲存區塊中。最好,進一步於步驟D後包含步驟:D4.於沙箱框架中對該程式碼進行語法測試;及D5.若測試後發現該程式碼的語法有誤,顯示相關錯 誤訊息於該編輯介面中且不進行步驟E;若測試後發現該程式碼的語法無誤,進行步驟E。 According to the concept of the present invention, the foregoing method further comprises the steps of: D1. reading the set of code and/or content data; D2. editing the set of code and/or content data; and D3. via the operating system, The edited set of code and/or content data is stored in the storage block. Preferably, the step further comprises the step of: step D4. performing a syntax test on the code in the sandbox frame; and D5. if the code is found to be incorrect in the code, the error is displayed. The error message is in the editing interface and step E is not performed; if the syntax of the code is found to be correct after the test, step E is performed.
本發明更揭露一種生成行動應用程式的方法,包含步驟:A.安裝一第一行動應用程式到一行動裝置中;B.執行該第一行動應用程式以於行動裝置上顯示一編輯介面;C.在該編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料;D.經由該行動裝置的一作業系統,儲存該組程式碼與內容資料到一沙箱框架中的一儲存區塊中;E.於沙箱框架中對該程式碼進行語法測試;F.若測試後發現該程式碼的語法有誤,顯示相關錯誤訊息於該編輯介面中且不進行步驟G;若測試後發現該程式碼的語法無誤,將該組程式碼與內容資料上傳至一雲端伺服器中;G.在雲端伺服器中,針對一特定作業平台,編譯該組程式碼與內容資料為一目的檔;及H.轉換該目的檔為可在該特定作業平台下執行的一第二行動應用程式。 其中該編輯介面能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 The present invention further discloses a method for generating a mobile application, comprising the steps of: A. installing a first mobile application into a mobile device; B. executing the first mobile application to display an editing interface on the mobile device; Editing a set of code and content data corresponding to the set of code in the editing interface; D. storing the set of code and content data into a storage in a sandbox frame via an operating system of the mobile device In the block; E. grammar test the code in the sandbox frame; F. If the code of the code is found to be incorrect after the test, the relevant error message is displayed in the editing interface and the step G is not performed; After discovering that the code of the code is correct, the code and content data are uploaded to a cloud server; G. In the cloud server, compiling the code and content data for a specific operating platform is a purpose. And H. Convert the destination file to a second mobile application executable under the particular operating platform. The editing interface can respond to changes in the content data in a timely manner and display the interface of the second mobile application.
依照本案構想,前述的方法進一步於步驟F後包含步驟:F1.讀取該組程式碼及/或內容資料;F2.編輯該組程式碼及/或內容資料;及F3.儲存編輯後的該組程式碼及/或內容資料到該雲端伺服器或該儲存區塊中。 According to the concept of the present invention, the foregoing method further comprises the steps of: F1. reading the set of code and/or content data; F2. editing the set of code and/or content data; and F3. storing the edited The group code and/or content data is sent to the cloud server or the storage block.
本發明再揭露一種生成行動應用程式的方法,包含步驟:A.安裝一第一行動應用程式到一行動裝置中,該第一 行動應用程式中包含一執行引擎;B.藉由該執行引擎執行該第一行動應用程式,以於行動裝置上顯示一編輯介面;C.在該編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料;D.經由該行動裝置的一作業系統,儲存該組程式碼與內容資料到一沙箱框架中的一儲存區塊中;E.於沙箱框架中對該程式碼進行語法測試;F.若測試後發現該程式碼的語法有誤,顯示相關錯誤訊息於該編輯介面中且不進行步驟G;若測試後發現該程式碼的語法無誤,將該組程式碼與內容資料上傳至一雲端伺服器中;及G.在雲端伺服器中,針對一特定作業平台,封裝一執行引擎、該組程式碼與內容資料為一第二行動應用程式。其中該編輯介面能及時反應內容資料的變動,並顯示第二行動應用程式的介面;藉由該執行引擎,第二行動應用程式執行於該特定作業平台上。 The invention further discloses a method for generating a mobile application, comprising the steps of: A. installing a first mobile application into a mobile device, the first The mobile application includes an execution engine; B. executing the first mobile application by the execution engine to display an editing interface on the mobile device; C. editing a set of programming codes and correspondingly in the editing interface The content data of the group code; D. storing the set of code and content data into a storage block in a sandbox frame via an operating system of the mobile device; E. the code in the sandbox frame Perform a grammar test; F. If the code of the code is found to be incorrect after the test, the relevant error message is displayed in the editing interface and step G is not performed; if the grammar of the code is found to be correct after the test, the code of the group is The content data is uploaded to a cloud server; and G. In the cloud server, an execution engine, the set of code and content data are encapsulated as a second mobile application for a specific operating platform. The editing interface can timely reflect the change of the content data and display the interface of the second mobile application; by the execution engine, the second mobile application is executed on the specific operating platform.
依照本案構想,前述的方法進一步於步驟F後包含步驟:F1.讀取該組程式碼及/或內容資料;F2.編輯該組程式碼及/或內容資料;及F3.儲存編輯後的該組程式碼及/或內容資料到該雲端伺服器或該儲存區塊中。 According to the concept of the present invention, the foregoing method further comprises the steps of: F1. reading the set of code and/or content data; F2. editing the set of code and/or content data; and F3. storing the edited The group code and/or content data is sent to the cloud server or the storage block.
本發明的另一個態樣是一種生成行動應用程式的系統,包含:一第一行動應用程式,該第一行動應用程式執行以提供一編輯介面,該編輯介面用以分別編輯一組程式碼與對應該組程式碼的內容資料,該第一行動應用程式對該程式碼的語法進行測試,並編譯該組程式碼與內容資料為一目的 檔;及一行動裝置,該行動裝置藉由一作業系統而運作並安裝該第一行動應用程式,並經由安裝的一連結器,將該目的檔轉換為可在該作業系統中執行的一第二行動應用程式,包含:一觸控螢幕,用以顯示該編輯介面以編輯該組程式碼與內容資料;一記憶單元,用以儲存該第一行動應用程式、該組程式碼與內容資料,其中該組程式碼與內容資料限定儲存於一特定位置中;及一處理單元,用以透過該作業系統而執行該第一行動應用程式,並將該組程式碼與內容資料複製到該特定位置中。其中第一行動應用程式存取該特定位置之資料形成一沙箱框架;對該程式碼的測試進行於該沙箱框架中,該編輯介面能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 Another aspect of the present invention is a system for generating a mobile application, comprising: a first mobile application, the first mobile application executing to provide an editing interface, the editing interface for separately editing a set of code and Corresponding to the content data of the group code, the first mobile application tests the syntax of the code and compiles the set of code and content data for a purpose. And a mobile device operating by the operating system and installing the first mobile application, and converting the destination file into a first executable executable in the operating system via an installed linker The second mobile application comprises: a touch screen for displaying the editing interface to edit the set of code and content data; and a memory unit for storing the first mobile application, the set of code and content data, The set of code and content data are stored in a specific location; and a processing unit is configured to execute the first mobile application through the operating system, and copy the set of code and content data to the specific location in. The first mobile application accesses the data of the specific location to form a sandbox frame; the test of the code is performed in the sandbox frame, and the editing interface can timely reflect the change of the content data and display the second action application. The interface of the program.
最好,前述的系統進一步包含:一雲端伺服器,該雲端伺服器用已接收該組程式碼與內容資料、針對一特定作業平台,編譯該組程式碼與內容資料為一目的檔;及轉換該目的檔為可在該特定作業平台下執行的一第二行動應用程式。 Preferably, the foregoing system further comprises: a cloud server, wherein the cloud server compiles the set of code and content data for a specific operating platform, and converts the set of code and content data into a destination file; and converting The destination file is a second mobile application that can be executed under the specific work platform.
本發明又揭露一種生成行動應用程式的系統,包含:一第一行動應用程式,包含一第一執行引擎,藉由該第一執行引擎而執行該第一行動應用程式,以於行動裝置上顯示一編輯介面,該編輯介面用以分別編輯一組程式碼與對應該組程式碼的內容資料,該第一行動應用程式對該程式碼進行語 法進行測試,並封裝該第一執行引擎、該組程式碼與內容資料為一第二行動應用程式;一行動裝置,該行動裝置藉由一作業系統而運作並安裝該第一行動應用程式,包含:一觸控螢幕,用以顯示該編輯介面以編輯該組程式碼與內容資料;一記憶單元,用以儲存該第一行動應用程式、該組程式碼與內容資料,其中該組程式碼與內容資料限定儲存於一特定位置中;及一處理單元,用以透過該作業系統與第一執行引擎而執行該第一行動應用程式,並將該組程式碼與內容資料複製到該特定位置中。其中第一行動應用程式存取該特定位置之資料形成一沙箱框架;對該程式碼的測試進行於該沙箱框架中,該編輯介面能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 The invention further discloses a system for generating a mobile application, comprising: a first mobile application, comprising a first execution engine, wherein the first mobile application is executed by the first execution engine to display on the mobile device An editing interface for respectively editing a set of code and content data corresponding to the set of code, the first mobile application speaking the code The method tests and encapsulates the first execution engine, the set of code and content data as a second mobile application, and a mobile device that operates and installs the first mobile application by an operating system. The method comprises: a touch screen for displaying the editing interface to edit the set of code and content data; and a memory unit for storing the first mobile application, the set of code and content data, wherein the set of codes And the content data is stored in a specific location; and a processing unit is configured to execute the first mobile application through the operating system and the first execution engine, and copy the set of code and content data to the specific location in. The first mobile application accesses the data of the specific location to form a sandbox frame; the test of the code is performed in the sandbox frame, and the editing interface can timely reflect the change of the content data and display the second action application. The interface of the program.
最好,前述的系統進一步包含:一雲端伺服器,該雲端伺服器用已接收該組程式碼與內容資料、針對一特定作業平台,封裝一第二執行引擎、該組程式碼與內容資料為一第二行動應用程式,其中該第二行動應用程式藉由該第二執行引擎而於該特定作業平台上執行。 Preferably, the foregoing system further comprises: a cloud server, wherein the cloud server receives the set of code and content data, encapsulates a second execution engine, the set of code and content data for a specific operating platform. a second mobile application, wherein the second mobile application is executed on the specific operating platform by the second execution engine.
依照本案構想,該行動裝置為一平板電腦或一智慧型手機。該內容資料為背景、聲音、影像、文字及/或行動應用程式模板。該組程式碼與內容資料分別編輯於一程式碼編輯介面與一內容資料編輯介面中。該特定作業平台包含一作業系統與一處理器架構。 According to the concept of the case, the mobile device is a tablet computer or a smart phone. The content material is a background, sound, image, text, and/or mobile application template. The set of code and content data are respectively edited in a code editing interface and a content data editing interface. The particular work platform includes an operating system and a processor architecture.
本發明藉由第一行動應用程式或其中包含的編譯執行引擎與沙箱框架,可以讓新的行動應用程式在行動裝置產生,不必依賴個人電腦。又由於有雲端伺服器,能夠將一種程式碼及其內容資料,封裝為不同的可執行檔案,產生的行動應用程式可以是針對該行動裝置的作業系統,或者是跨平台的。最後,由於編程平台即是行動裝置,利用所見即所得的介面操作,這樣有助於行動應用程式的開發教學。 The present invention allows a new mobile application to be generated on a mobile device by the first mobile application or the compiled execution engine and sandbox framework contained therein without relying on a personal computer. Moreover, because of the cloud server, a program code and its content data can be packaged into different executable files, and the generated mobile application system can be an operating system for the mobile device or cross-platform. Finally, since the programming platform is the mobile device, using the WYSIWYG interface operation, it helps to develop the teaching of mobile applications.
1‧‧‧行動裝置 1‧‧‧ mobile device
10‧‧‧作業系統 10‧‧‧Operating system
100‧‧‧處理單元 100‧‧‧Processing unit
101‧‧‧觸控螢幕 101‧‧‧ touch screen
102‧‧‧暫存單元 102‧‧‧Scratch unit
103‧‧‧儲存單元 103‧‧‧storage unit
104‧‧‧輸出編輯管理模組 104‧‧‧Output editing management module
105‧‧‧特定功能元件模組 105‧‧‧Special function component module
2‧‧‧雲端伺服器 2‧‧‧Cloud Server
200‧‧‧行動應用程式產生器 200‧‧‧Mobile Application Generator
第1圖顯示依照本發明的一種生成行動應用程式的系統。 Figure 1 shows a system for generating a mobile application in accordance with the present invention.
第2圖顯示一編輯介面與一內容資料編輯介面。 Figure 2 shows an editing interface and a content editing interface.
第3圖繪示儲存區塊中儲存的方式。 Figure 3 shows the way stored in the storage block.
第4圖為一種行動裝置端生成行動應用程式的方法的流程圖。 Figure 4 is a flow diagram of a method of generating a mobile application on the mobile device side.
第5圖為另一種行動裝置端生成行動應用程式的方法的流程圖。 Figure 5 is a flow chart of another method for generating a mobile application on the mobile device side.
第6圖為又一種行動裝置端生成行動應用程式的方法的流程圖。 Figure 6 is a flow chart of another method for generating a mobile application on the mobile device side.
第7圖為再一種行動裝置端生成行動應用程式的方法的流程圖。 Figure 7 is a flow chart of another method for generating a mobile application on the mobile device side.
第8圖為又再一種行動裝置端生成行動應用程式的方法的流程圖。 Figure 8 is a flow chart of yet another method of generating a mobile application on the mobile device side.
第9圖為又再一種行動裝置端生成行動應用程式的方法的流程圖。 Figure 9 is a flow chart of another method for generating a mobile application on the mobile device side.
第10圖為又再一種行動裝置端生成行動應用程式的方法的流程圖。 Figure 10 is a flow chart of another method for generating a mobile application on the mobile device side.
第11圖顯示依照本發明的另一種生成行動應用程式的系統。 Figure 11 shows another system for generating a mobile application in accordance with the present invention.
第12圖為一種生成行動應用程式的方法的流程圖。 Figure 12 is a flow diagram of a method of generating a mobile application.
第13圖為另一種生成行動應用程式的方法的流程圖。 Figure 13 is a flow chart of another method of generating a mobile application.
第14圖為又一種生成行動應用程式的方法的流程圖。 Figure 14 is a flow chart of another method of generating a mobile application.
第15圖為再一種生成行動應用程式的方法的流程圖。 Figure 15 is a flow chart of another method of generating a mobile application.
第16圖為又再一種生成行動應用程式的方法的流程圖。 Figure 16 is a flow chart of yet another method of generating a mobile application.
本發明將藉由參照下列的實施方式而更具體地描述。 The invention will be more specifically described by reference to the following embodiments.
請參閱第1圖,該圖揭露依照本發明的一種生成行動應用程式的系統之實施例。該系統包含一行動裝置1與運行於其上的第一行動應用程式。行動裝置1藉由一作業系統10而運 作並安裝該行動應用程式。硬體方面,行動裝置1包含了一處理單元100、一觸控螢幕101、一暫存單元102、一儲存單元103、一輸出編輯管理模組104及一特定功能元件模組105。以下分別說明各硬體在本發明中的作用。 Referring to Figure 1, there is shown an embodiment of a system for generating a mobile application in accordance with the present invention. The system includes a mobile device 1 and a first mobile application running thereon. The mobile device 1 is transported by an operating system 10 Create and install the mobile app. On the hardware side, the mobile device 1 includes a processing unit 100, a touch screen 101, a temporary storage unit 102, a storage unit 103, an output editing management module 104, and a specific function component module 105. The role of each hardware in the present invention will be separately described below.
處理單元100也就是行動裝置1中的中央處理器(Central Processing Unit),隨著功能設定的差異,系統架構不同的而相異。比如行動裝置1可以是一台平板電腦或一台智慧型手機,雖然其上運行的作業系統10都支援多工與執行行動應用程式的功能,但平板電腦畢竟不像智慧型手機可以通話,中央處理器的選擇也會不一樣。是故,依照本發明,處理單元100必須能透過作業系統10,或進一步利用一執行引擎而執行該行動應用程式,並將一組程式碼與對應該組程式碼的內容資料複製到一特定位置中。關於該特定位置的說明,將會詳細陳述於後。 The processing unit 100 is also a central processing unit in the mobile device 1. The system architecture is different and different depending on the difference in function settings. For example, the mobile device 1 can be a tablet computer or a smart phone. Although the operating system 10 running on it supports the functions of multiplexing and executing a mobile application, the tablet does not have a call like a smart phone. The choice of processor will also be different. Therefore, in accordance with the present invention, the processing unit 100 must be able to execute the mobile application through the operating system 10, or further utilize an execution engine, and copy a set of code and content data corresponding to the set of code to a specific location. in. A description of this particular location will be detailed later.
觸控螢幕101除了能顯示作業系統10所提供的顯示內容並傳輸使用者編輯的資料到作業系統10外,它最主要的功能是用來顯示一編輯介面以編輯前述的該組程式碼與內容資料。暫存單元102與儲存單元103分別用來暫時及永久儲存資料。對於行動裝置1而言,暫存單元102可以是隨機存取記憶體(Random Access Memory,RAM)或處理單元100中的快取,儲存單元103可以是固態硬碟(Solid State Disk,SSD)、唯讀記憶體(Read Only Memory,ROM)或外接記憶卡。為 了說明方便起見,暫存單元102與儲存單元103合稱記憶單元。 由於每個作業系統與處理單元對記憶體的管理不同(也有可能會因為主記憶體的大小與使用狀況而異),某一行動應用程式執行時會統一暫存於隨機存取記憶體與快取中,不執行時則其執行檔與資料儲存於唯讀記憶體中;但很有可能執行時也會有部分運算結果是暫存於唯讀記憶體中。因而整體來說,記憶單元是用以儲存行動應用程式、前述組程式碼與內容資料而不限定是在暫存單元102或儲存單元103。但要注意的是該組程式碼與內容資料限定儲存於該特定位置中。特定位置可以是暫存單元102及/或儲存單元103中的某些儲存區塊(如第1圖中的虛線方框)。除了本發明所使用的程式碼與內容資料,其它程式或資料不得使用該特定位置進行存取。當然,特定位置也不會擴張到其它現有資料儲存的區域。特定位置的限制,也就是在記憶單元中形成了一個沙箱(sandbox)框架。 In addition to displaying the display content provided by the operating system 10 and transmitting the user-edited data to the operating system 10, the touch screen 101 is used to display an editing interface for editing the aforementioned set of codes and contents. data. The temporary storage unit 102 and the storage unit 103 are used to temporarily and permanently store data. For the mobile device 1, the temporary storage unit 102 can be a random access memory (RAM) or a cache in the processing unit 100, and the storage unit 103 can be a solid state disk (SSD). Read Only Memory (ROM) or an external memory card. for For convenience of description, the temporary storage unit 102 and the storage unit 103 are collectively referred to as a memory unit. Since each operating system and processing unit manages the memory differently (it may also vary depending on the size and usage of the main memory), a mobile application will be temporarily stored in random access memory and fast when executed. In the case of non-execution, the execution file and data are stored in the read-only memory; however, it is very likely that some of the operation results will be temporarily stored in the read-only memory. Therefore, in general, the memory unit is used to store the mobile application, the aforementioned group of code and content data, and is not limited to the temporary storage unit 102 or the storage unit 103. However, it should be noted that the set of code and content data are stored in the specific location. The particular location may be some of the storage locations in the temporary storage unit 102 and/or the storage unit 103 (as in the dashed box in Figure 1). Except for the code and content materials used in the present invention, other programs or materials may not be accessed using this particular location. Of course, a particular location will not expand to other areas where existing data is stored. The limitation of a specific location, that is, the formation of a sandbox frame in the memory unit.
輸出編輯管理模組104接受處理單元100的控制,用來管理行動裝置1的各個輸出埠或元件的運作。這些輸出埠或元件比如USB埠、外接音源孔、實體按鍵、攝像鏡頭、喇叭模組、藍芽子模組、Wi-Fi子模組等。處理單元100可通過輸出編輯管理模組104,由Wi-Fi子模組連上網際網路。特定功能元件模組105則是在處理單元100的控制下,操作某些具有特定功能的元件。這些具有特定功能的元件包括,但不限於, 重力感測器、電子羅盤、陀螺儀、距離感測器、環境光源感測器與霍爾效應感測器等。要注意的是,作業系統10作為行動應用程式與處理單元100溝通的介面,可以依照行動應用程式的需求,驅動處理單元100運作行動裝置1包含的硬體元件。 The output edit management module 104 accepts control of the processing unit 100 for managing the operation of the various output ports or components of the mobile device 1. These outputs or components such as USB ports, external sound source holes, physical buttons, camera lenses, speaker modules, Bluetooth sub-modules, Wi-Fi sub-modules, and the like. The processing unit 100 can connect to the Internet through the Wi-Fi sub-module through the output editing management module 104. The specific functional component module 105 is operated under the control of the processing unit 100 to operate certain components having specific functions. These specific functional components include, but are not limited to, Gravity sensors, electronic compasses, gyroscopes, distance sensors, ambient light source sensors, and Hall effect sensors. It should be noted that the operating system 10 acts as an interface between the mobile application and the processing unit 100, and can drive the processing unit 100 to operate the hardware components included in the mobile device 1 according to the requirements of the mobile application.
上述的行動應用程式安裝於行動裝置1後,由作業系統10執行以提供一個編輯介面顯示於觸控螢幕101上,這種方式處理的行動應用程式必須是一個可在行動裝置1執行的機器碼,或經過安裝的虛擬機器執行的目的檔(如經過Java Runtime Environment執行的Java Bytecode)。此時,行動裝置1可安裝一編譯器(compiler)及一連結器(Linker),各用來編譯該組程式碼與內容資料為一目的檔(object file)及將該目的檔轉換為可在該作業系統中執行的一第二行動應用程式。 The mobile application is executed by the operating system 10 to provide an editing interface for displaying on the touch screen 101. The mobile application processed in this manner must be a machine code executable by the mobile device 1. , or the destination file executed by the installed virtual machine (such as Java Bytecode executed by the Java Runtime Environment). At this time, the mobile device 1 can install a compiler and a linker, each of which is used to compile the set of code and content data into an object file and convert the target file into an executable file. A second mobile application executed in the operating system.
依照本發明的精神,其它形式程式碼編寫的行動應用程式也可以在行動裝置1上執行。比如以腳本語言(如Javascript)撰寫並封裝的行動應用程式,可以藉由瀏覽器或其中附帶的執行引擎,透過作業系統10在行動裝置1上執行。某些第四代程式語言,如LIVECODE,編程的行動應用程式,本身的程式碼可以不必通過編譯過程而直譯結果透過作業系統10在行動裝置1上執行,這不同於腳本語言但執行形式上近 於腳本語言編程行動應用程式的執行方式,也適用於本發明。 In accordance with the spirit of the present invention, a mobile application written in other forms of code can also be executed on the mobile device 1. For example, a mobile application written and packaged in a scripting language (such as Javascript) can be executed on the mobile device 1 through the operating system 10 by a browser or an execution engine attached thereto. Some fourth-generation programming languages, such as LIVECODE, programmed mobile applications, can execute the code directly through the operating system 10 on the mobile device 1 without having to go through the compilation process. This is different from the scripting language but in the form of execution. The execution of the scripting language programming mobile application is also applicable to the present invention.
前述的編輯介面用以分別編輯一組程式碼與對應該組程式碼的內容資料。請參閱第2圖,最好其中該組程式碼與內容資料分別創建及編輯於一程式碼編輯介面(第2圖左方)與一內容資料編輯介面(第2圖右方)中。程式碼編輯介面與內容資料編輯介面可同時出現於觸控螢幕101上,以方便程式碼編輯;如果觸控螢幕101的尺寸較小,程式碼編輯介面與內容資料編輯介面可各別切換出現。如第2圖所示,程式碼編輯介面編輯程式碼,可方便對照右方的內容資料編輯介面中的圖形(如image 1代表的是剪刀的圖形,image 2代表的是石頭的圖形,image 3代表的是布的圖形)。使用者可以在內容資料編輯介面裏更換不同的圖檔,進而相對應修改程式碼。值得注意的是,該編輯介面要能及時反應內容資料的變動。編輯介面(內容資料編輯介面)顯示的整體圖案,也就是未來完成的一第二行動應用程式的執行介面(畫面)。依照本發明,前述的內容資料可以是關於第二行動應用程式的背景、聲音、影像、文字及/或行動應用程式模板。這些內容資料都可以在內容資料編輯介面中進行編輯。編輯的結果可以暫存於記憶單元中,分次進行後續編輯作業,不必急於一時完成。 The aforementioned editing interface is used to separately edit a set of code codes and content materials corresponding to the group code. Please refer to FIG. 2, wherein the set of code and content data are respectively created and edited in a code editing interface (left of FIG. 2) and a content editing interface (right side of FIG. 2). The code editing interface and the content data editing interface can be simultaneously displayed on the touch screen 101 to facilitate program code editing; if the size of the touch screen 101 is small, the code editing interface and the content data editing interface can be switched respectively. As shown in Figure 2, the code editing interface edits the code, which is convenient for comparing the graphics in the content editing interface on the right (for example, image 1 represents the scissors graphic, image 2 represents the stone graphic, image 3 Represents the graphics of the cloth). Users can change different image files in the content data editing interface, and then modify the code accordingly. It is worth noting that the editing interface should be able to respond to changes in content data in a timely manner. The overall pattern displayed by the editing interface (content data editing interface) is the execution interface (screen) of a second mobile application that is completed in the future. In accordance with the present invention, the aforementioned content material may be a background, sound, video, text, and/or mobile application template for the second mobile application. These content materials can be edited in the content data editing interface. The result of the editing can be temporarily stored in the memory unit, and the subsequent editing operations can be performed in batches without rushing to complete.
而在前述儲存區塊中儲存的方式,由於同時可能編程二個以上的行動應用程式,儲存的方式如第3圖所示。第二 行動應用程式的程式碼A與內容資料A相鄰地儲存,一第三行動應用程式的程式碼B與內容資料B也相鄰地儲存。不同行動應用程式的程式碼與內容資料間以填充(padding)0隔開。第三行動應用程式可以有一個副程式,副程式的程式碼C與內容資料C可另外儲存。當需要編譯或執行時,程式碼B、內容資料B、程式碼C與內容資料C可一起進行。這樣的好處是能簡化程式碼的編輯作業複雜度。 In the manner of storing in the aforementioned storage block, since it is possible to program more than two mobile applications at the same time, the storage manner is as shown in FIG. second The code A of the mobile application is stored adjacent to the content material A, and the code B of the third mobile application is stored adjacent to the content data B. The code of the different mobile applications is separated from the content data by padding 0. The third mobile application can have a subroutine, and the subcode C and content C can be stored separately. When it is necessary to compile or execute, the code B, the content material B, the code C and the content material C can be performed together. This has the advantage of simplifying the complexity of editing the code.
如果該程式碼是供腳本語言執行引擎(如瀏覽器)執行,或是依照直譯式的程式語言語法所編寫,第一行動應用程式的架構中可包含了一個執行引擎,藉由該執行引擎而執行該第一行動應用程式,以於行動裝置上顯示編輯介面,該編輯介面用以分別編輯一組程式碼與對應該組程式碼的內容資料,該第一行動應用程式對該程式碼進行語法進行測試,並可封裝該執行引擎(執行引擎是瀏覽器則不需要)、該組程式碼與內容資料為第二行動應用程式。 If the code is for execution by a scripting language execution engine (such as a browser) or in accordance with a literal translation of the programming language syntax, the first mobile application architecture may include an execution engine by which the execution engine Executing the first mobile application to display an editing interface on the mobile device, wherein the editing interface is used to separately edit a set of code and content data corresponding to the set of code, and the first mobile application grammarizes the code The test is performed and the execution engine can be packaged (the execution engine is not required by the browser), and the set of code and content data is the second mobile application.
如果該程式碼是需要經過目的檔之編譯而後才能執行,該第一行動應用程式則可直接執行以提供編輯介面(透過執行環境),該編輯介面用以分別編輯一組程式碼與對應該組程式碼的內容資料。該第一行動應用程式可對該程式碼的語法進行測試,並可編譯該組程式碼與內容資料為一目的檔。要強調的是以上無論哪一種形式的第一行動應用程式存取該 特定位置中之資料的方式形成了前述沙箱框架,對程式碼的測試進行於該沙箱框架中。 If the code needs to be compiled by the destination file and then executed, the first mobile application can be directly executed to provide an editing interface (through an execution environment), and the editing interface is used to separately edit a set of codes and corresponding groups. The content of the code. The first mobile application can test the syntax of the code and compile the set of code and content data into a destination file. It is important to emphasize that any of the above forms of the first mobile application access this The manner in which the data in a particular location forms the aforementioned sandbox frame, and the testing of the code is performed in the sandbox frame.
利用上述的系統之操作,本發明另揭露了一種生成行動應用程式的方法。請參照第4圖,該方法包含步驟如下:首先,安裝第一行動應用程式到一行動裝置(S01)中。接著,作業系統10執行該第一行動應用程式,以便於行動裝置1上顯示前述的編輯介面(S02)。使用者可在該編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料(S03)。最好如上描述,編輯介面分為程式碼編輯介面與內容資料編輯介面兩部分,各用於生成及編輯程式碼與內容資料(以下說明亦同)。之後,經由行動裝置1的作業系統10,儲存該組程式碼與內容資料到沙箱框架中的一儲存區塊中(S04),經由安裝於行動裝置的編譯器,編譯該組程式碼與內容資料為一目的檔(S05)。最後,經由安裝於行動裝置1的連結器,將該目的檔轉換為可在該作業系統10中執行的一第二行動應用程式(S06)。要注意的是,這方法的程式碼是需要經過目的檔之編譯而在行動裝置1中執行第二行動應用程式,在步驟S03中,編輯介面要能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 Using the operation of the system described above, the present invention further discloses a method of generating a mobile application. Referring to FIG. 4, the method includes the following steps: First, the first mobile application is installed into a mobile device (S01). Next, the operating system 10 executes the first mobile application to facilitate display of the aforementioned editing interface on the mobile device 1 (S02). The user can edit a set of code and the content data corresponding to the group code in the editing interface (S03). Preferably, the editing interface is divided into two parts: a code editing interface and a content data editing interface, each of which is used to generate and edit code and content data (the same applies hereinafter). Then, the set of code and content data are stored in a storage block in the sandbox frame via the operating system 10 of the mobile device 1 (S04), and the set of code and content is compiled via a compiler installed in the mobile device. The data is a destination file (S05). Finally, the destination file is converted into a second mobile application executable in the operating system 10 via a connector installed in the mobile device 1 (S06). It should be noted that the code of the method is to execute the second mobile application in the mobile device 1 by compiling the destination file. In step S03, the editing interface should reflect the change of the content data in time and display the second. The interface of the mobile app.
如上所述,程式碼編輯的結果可以暫存於記憶單元中,分次進行後續編輯作業,故在前述方法的步驟S04與步驟S05間可加入以下步驟(請見第5圖):讀取該組程式碼及/或 內容資料;(S041);編輯該組程式碼及/或內容資料(S042);及經由該作業系統10,儲存編輯後的該組程式碼及/或內容資料到該儲存區塊中。(S043)。步驟S041到步驟S043可以一直重複,直到程式碼完成。 As described above, the result of the code editing can be temporarily stored in the memory unit, and the subsequent editing operations are performed in stages. Therefore, the following steps can be added between steps S04 and S05 of the foregoing method (see FIG. 5): reading the Group code and / or Content data; (S041); editing the set of code and/or content data (S042); and storing the edited set of code and/or content data into the storage block via the operating system 10. (S043). Steps S041 through S043 can be repeated until the code is completed.
在目的檔產生前,第一行動應用程式可對該程式碼進行測試。因此在步驟S04與步驟S05間可加入以下步驟(請見第6圖):於沙箱框架中對該程式碼進行語法測試(S044);若測試後發現該程式碼的語法有誤,顯示相關錯誤訊息於該編輯介面中且不進行步驟S05,此時使用者可依錯誤訊息而修改程式碼,再次進行步驟S04;若測試後發現該程式碼的語法無誤,進行步驟S05(S045)。 The first mobile application can test the code before the destination file is generated. Therefore, the following steps can be added between step S04 and step S05 (see Figure 6): the code is tested in the sandbox frame (S044); if the code is found to be incorrect after the test, the relevant information is displayed. The error message is in the editing interface and the step S05 is not performed. At this time, the user can modify the code according to the error message, and step S04 is performed again. If the syntax of the code is found to be correct after the test, step S05 is performed (S045).
若程式碼是供腳本語言執行引擎執行,或是依照直譯式的程式語言語法所編寫,上述的方法要做一些修改。請見第7圖,該方法包含步驟如下:首先,安裝第一行動應用程式到一行動裝置中,這裏的第一行動應用程式中包含一執行引擎(S11)。之後,藉由執行引擎執行該第一行動應用程式,以於行動裝置1上顯示一編輯介面(S12)。使用者在編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料(S13)。接著,經由該行動裝置1的作業系統10,儲存該組程式碼與內容資料到沙箱框架中的一儲存區塊中(S14)。最後,第一行動應用程式封裝該組程式碼與內容資料為一第二行動應用程式(S15)。若腳本語言的執行引擎不是瀏覽器,則步驟S15改 為第一行動應用程式封裝該執行引擎、該組程式碼與內容資料為一第二行動應用程式(S15’),如第8圖所示,以下說明中提及S15者亦同。至此,產生的第二行動應用程式就可以經由封裝的執行引擎或瀏覽器,在行動裝置1上透過作業系統10而執行。相同地,在編輯時,編輯介面能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 If the code is for the scripting language execution engine or is written in accordance with the literal translation of the programming language syntax, the above method should be modified. Referring to FIG. 7, the method includes the following steps: First, installing the first mobile application into a mobile device, where the first mobile application includes an execution engine (S11). Thereafter, the first mobile application is executed by the execution engine to display an editing interface on the mobile device 1 (S12). The user edits a set of code codes and content materials corresponding to the group code in the editing interface (S13). Next, the set of code and content data are stored in a storage block in the sandbox frame via the operating system 10 of the mobile device 1 (S14). Finally, the first mobile application package encapsulates the set of code and content data into a second mobile application (S15). If the execution engine of the scripting language is not a browser, step S15 is changed. The execution engine, the set of code and content data are encapsulated as a second mobile application (S15') for the first mobile application, as shown in FIG. 8, the same is mentioned in the following description. So far, the generated second mobile application can be executed on the mobile device 1 through the operating system 10 via the packaged execution engine or browser. Similarly, during editing, the editing interface can respond to changes in content data in a timely manner and display the interface of the second mobile application.
如上所述,程式碼編輯的結果可以暫存於記憶單元中,分次進行後續編輯作業,故在前述方法的步驟S14與步驟S15間可加入以下步驟(請見第9圖):讀取該組程式碼及/或內容資料(S141);編輯該組程式碼及/或內容資料(S142);及經由該作業系統10,儲存編輯後的該組程式碼及/或內容資料到該儲存區塊中(S143)。步驟S141到步驟S143可以一直重複,直到程式碼完成。 As described above, the result of the code editing can be temporarily stored in the memory unit, and the subsequent editing operations are performed in stages. Therefore, the following steps can be added between steps S14 and S15 of the foregoing method (see FIG. 9): reading the Group code and/or content data (S141); editing the set of code and/or content data (S142); and storing the edited set of code and/or content data to the storage area via the operating system 10 In the block (S143). Steps S141 through S143 can be repeated until the code is completed.
依照本發明,第一行動應用程式可對該程式碼進行測試。因此在步驟S14與步驟S15間可加入以下步驟(請見第10圖):於沙箱框架中對該程式碼進行語法測試(S144);若測試後發現該程式碼的語法有誤,顯示相關錯誤訊息於該編輯介面中且不進行步驟S15,此時使用者可依錯誤訊息而修改程式碼;若測試後發現該程式碼的語法無誤,進行步驟S15(S145)。 In accordance with the present invention, the first mobile application can test the code. Therefore, the following steps can be added between step S14 and step S15 (see FIG. 10): the code is tested in the sandbox frame (S144); if the code is found to be incorrect in the test, the relevant information is displayed. The error message is in the editing interface and the step S15 is not performed. At this time, the user can modify the code according to the error message. If the syntax of the code is found to be correct after the test, the process proceeds to step S15 (S145).
依照本發明的精神,第一實施例中的生成行動應用程式的系統不限於只有在行動裝置1中執行,它可進一步包含一雲端伺服器2,提供雲端生成及發布行動應用程式的功能。請見第11圖,雲端伺服器2與行動裝置1透過行動網路或網際網路連接,用以接收程式碼與內容資料,並針對一特定作業平台,編譯該組程式碼與內容資料為一目的檔。最終,雲端伺服器2轉換該第二目的檔為可在該特定作業平台下執行的一第二行動應用程式,並可向不同的管道發佈,以供不同平台使用者下載。這裡所謂的特定作業平台包含一處理器架構與一作業系統。比如在ARM架構下的Android作業系統,或x86架構下的window 8.1作業系統。 In accordance with the spirit of the present invention, the system for generating a mobile application in the first embodiment is not limited to being executed only in the mobile device 1, and may further include a cloud server 2 that provides functions for generating and distributing mobile applications in the cloud. Referring to FIG. 11, the cloud server 2 and the mobile device 1 are connected through a mobile network or an Internet to receive code and content data, and compile the program code and content data for a specific operating platform. Destination file. Finally, the cloud server 2 converts the second destination file into a second mobile application that can be executed under the specific working platform, and can be released to different pipelines for download by different platform users. The so-called specific work platform here comprises a processor architecture and an operating system. For example, the Android operating system under the ARM architecture, or the window 8.1 operating system under the x86 architecture.
雲端伺服器2的硬體資源遠大於行動裝置1,所以雲端伺服器2可以進一步做行動裝置1無法完成的作業,比如將第二行動應用程式的程式碼與內容資料編譯成用於不同作業平台的目的檔,這工作主要是靠雲端伺服器2中的行動應用程式產生器200而達成。行動應用程式產生器200可以是雲端伺服器2中的硬體模組,或者是極為龐大的應用軟體。行動應用程式產生器200需要能處理各種行動裝置作業系統及其配合架構下的執行檔案的產生方式;它可能是具備了各種程式語言的開發環境,而它接收的程式碼可能僅是以某一種程式語言所編寫的。 The hardware resource of the cloud server 2 is much larger than that of the mobile device 1, so the cloud server 2 can further perform operations that the mobile device 1 cannot complete, such as compiling the code and content data of the second mobile application into different operating platforms. The destination file, which is mainly achieved by the mobile application generator 200 in the cloud server 2. The mobile application generator 200 can be a hardware module in the cloud server 2 or an extremely large application software. The mobile application generator 200 needs to be able to process various mobile device operating systems and the execution files of the cooperative architecture; it may be a development environment with various programming languages, and the received code may be only one type Written by the programming language.
由前述的說明可知,雲端伺服器2處理的程式碼是需要經過目的檔之編譯而後才能執行的。然而,依照本發明的精神,程式碼如果是供腳本語言執行引擎執行,或是依照直譯式的程式語言語法所編寫的,一樣適用。這時,雲端伺服器2用以接收該組程式碼與內容資料、針對一特定作業平台,封裝一第二執行引擎(可與第一行動應用程式中的執行引擎相同或不同)、該組程式碼與內容資料為第二行動應用程式,而第二行動應用程式藉由該第二執行引擎而於該特定作業平台上執行。第二執行引擎也可不必被封裝。由於雲端伺服器2的功能強大,行動應用程式產生器200可以具有必要的執行環境與執行引擎,同時處理所有的程式碼。 It can be seen from the foregoing description that the code processed by the cloud server 2 needs to be compiled by the destination file before being executed. However, in accordance with the spirit of the present invention, the code is equally applicable if it is executed by the scripting language execution engine or in accordance with the literal translation of the programming language syntax. At this time, the cloud server 2 is configured to receive the set of code and content data, package a second execution engine (which may be the same as or different from the execution engine in the first mobile application) for a specific operating platform, and the set of code The content data is a second mobile application, and the second mobile application is executed on the specific operating platform by the second execution engine. The second execution engine may also not have to be packaged. Due to the power of the cloud server 2, the mobile application generator 200 can have the necessary execution environment and execution engine while processing all the code.
藉由第11圖所示的系統之操作,本發明另揭露了一種生成行動應用程式的方法。請參照第12圖,該方法包含步驟如下:首先,安裝第一行動應用程式到行動裝置1中(S31)。接著,作業系統10執行第一行動應用程式,以於行動裝置1上顯示一編輯介面(S32)。使用者在該編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料(S33),經由行動裝置1的作業系統10,儲存該組程式碼與內容資料到沙箱框架中的一儲存區塊中(S34)。接著於第一行動應用程式沙箱框架中對該程式碼進行語法測試(S35)。若測試後發現該程式碼的語法有誤,顯示相關錯誤訊息於該編輯介面中且不進行步驟S37,此時使用者可依錯誤訊息而修改程式碼,再次進行步 驟S35;若測試後發現該程式碼的語法無誤,將該組程式碼與內容資料上傳至雲端伺服器2中(S36)。此時在雲端伺服器2中,行動應用程式產生器200針對一特定作業平台,編譯該組程式碼與內容資料為一目的檔(S37)。最後,行動應用程式產生器200轉換該目的檔為可在該特定作業平台下執行的一第二行動應用程式(S38)。其中編輯介面要能及時反應內容資料的變動,並顯示第二行動應用程式的介面。 The present invention further discloses a method of generating a mobile application by the operation of the system shown in FIG. Referring to FIG. 12, the method includes the following steps: First, the first mobile application is installed in the mobile device 1 (S31). Next, the operating system 10 executes the first mobile application to display an editing interface on the mobile device 1 (S32). The user edits a set of code codes and content data corresponding to the group code in the editing interface (S33), and stores the set of code and content data into one of the sandbox frames via the operating system 10 of the mobile device 1. In the storage block (S34). The code is then tested in the first mobile application sandbox framework (S35). If the syntax of the code is found to be incorrect after the test, the relevant error message is displayed in the editing interface and the step S37 is not performed. At this time, the user can modify the code according to the error message and perform the step again. Step S35; if the syntax of the code is found to be correct after the test, the program code and the content data are uploaded to the cloud server 2 (S36). At this time, in the cloud server 2, the mobile application generator 200 compiles the set of code and content data into a destination file for a specific work platform (S37). Finally, the mobile application generator 200 converts the destination file into a second mobile application (S38) executable under the specific operating platform. The editing interface should be able to respond to changes in content data in a timely manner and display the interface of the second mobile application.
同前一實施例,程式碼編輯的結果可以暫存,分次進行後續編輯作業,故在前述方法的步驟S36與步驟S37間可加入以下步驟(請見第13圖):讀取該組程式碼及/或內容資料(S361);編輯該組程式碼及/或內容資料(S362);及儲存編輯後的該組程式碼及/或內容資料到該雲端伺服器或該儲存區塊中(S363)。要注意的是在步驟S363中,如果程式碼及/或內容資料要做邏輯上的大修改,編輯後的程式碼及/或內容資料可回存到儲存區塊中,由步驟S35再開始;如果編輯是對已經驗證過的程式碼進行小幅修改,修改過的程式碼及/或內容資料存回雲端伺服器2中。此處顯現本發明的一個好處:能夠進行資源共享。這就是上傳的程式碼與內容資料可進一步由其他使用者在雲端伺服器2中修改編輯。步驟S361至步驟S363可以一直重複,直到程式碼修改完成。 As in the previous embodiment, the result of the code editing can be temporarily stored, and the subsequent editing operations are performed in stages. Therefore, the following steps can be added between steps S36 and S37 of the foregoing method (see FIG. 13): reading the program Code and/or content data (S361); editing the set of code and/or content data (S362); and storing the edited set of code and/or content data into the cloud server or the storage block ( S363). It is to be noted that, in step S363, if the code and/or the content data are to be logically modified, the edited code and/or the content data may be restored to the storage block, and then restarted in step S35; If the editing is to modify the verified code slightly, the modified code and/or content data is saved back to the cloud server 2. One benefit of the present invention is manifested here: the ability to share resources. This means that the uploaded code and content data can be further modified by other users in the cloud server 2. Steps S361 to S363 can be repeated until the code modification is completed.
由以上的說明可以知道這是適用於需要經過目的檔之編譯而後才能執行程式碼,若程式碼是供腳本語言執行引 擎執行,或是依照直譯式的程式語言語法所編寫的,上述方法修改為以下(請見第14圖):首先,安裝第一行動應用程式到行動裝置1中,該第一行動應用程式中包含一執行引擎(S41)。接著,執行引擎執行該第一行動應用程式,以於行動裝置1上顯示一編輯介面(S42)。使用者在編輯介面中分別編輯一組程式碼與對應該組程式碼的內容資料(S43)。接著,經由行動裝置1的一作業系統10,儲存該組程式碼與內容資料到沙箱框架中的一儲存區塊中(S44)。接著,於沙箱框架中對該程式碼進行語法測試(S45)。若測試後發現該程式碼的語法有誤,顯示相關錯誤訊息於該編輯介面中且不進行步驟S47,此時使用者可依錯誤訊息而修改程式碼,再次進行步驟S45;若測試後發現該程式碼的語法無誤,則將該組程式碼與內容資料上傳至雲端伺服器2中(S46)。最後,在雲端伺服器中2,針對一特定作業平台,封裝一執行引擎、該組程式碼與內容資料為一第二行動應用程式(S47)。若腳本語言的執行引擎是瀏覽器,則步驟S47改為在雲端伺服器中2,針對一特定作業平台,封裝該組程式碼與內容資料為一第二行動應用程式(S47’),如第15圖所示,以下說明中提及S47者亦同。 其中編輯介面要能及時反應內容資料的變動,並顯示第二行動應用程式的介面。藉由該執行引擎,第二行動應用程式執行於該特定作業平台上。 From the above description, it can be known that this is applicable to the need to compile the target file before executing the code. If the code is for scripting language execution Engine execution, or written in accordance with the literal translation of the programming language syntax, the above method is modified as follows (see Figure 14): First, install the first mobile application into the mobile device 1, the first mobile application Contains an execution engine (S41). Next, the execution engine executes the first mobile application to display an editing interface on the mobile device 1 (S42). The user edits a set of code codes and content materials corresponding to the group code in the editing interface (S43). Next, the set of code and content data are stored in a storage block in the sandbox frame via an operating system 10 of the mobile device 1 (S44). Next, the code is tested in the sandbox frame (S45). If the syntax of the code is incorrect after the test, the relevant error message is displayed in the editing interface and the step S47 is not performed. At this time, the user can modify the code according to the error message, and then proceed to step S45; if the test finds the If the syntax of the code is correct, the set of code and content data is uploaded to the cloud server 2 (S46). Finally, in the cloud server 2, an execution engine, the set of code and content data are encapsulated into a second mobile application for a specific operating platform (S47). If the execution engine of the scripting language is a browser, step S47 is changed to 2 in the cloud server, and the set of code and content data is encapsulated into a second mobile application (S47') for a specific operating platform, such as Figure 15 shows the same as the reference to S47 in the following description. The editing interface should be able to respond to changes in content data in a timely manner and display the interface of the second mobile application. With the execution engine, the second mobile application is executed on the specific operating platform.
同樣地,程式碼編輯的結果可以暫存,分次進行後續編輯作業,故在前述方法的步驟S46與步驟S47間可加入以下步驟(請見第16圖):讀取該組程式碼及/或內容資料(S461);編輯該組程式碼及/或內容資料(S462);及儲存編輯後的該組程式碼及/或內容資料到該雲端伺服器或該儲存區塊中(S463)。在步驟S463中,如果還在編輯或除錯過程中,編輯後的程式碼及/或內容資料是儲存到儲存區塊中;如果組程式碼及內容資料已經上傳到雲端伺服器2中,修改過的程式碼及/或內容資料是存回雲端伺服器2中。步驟S461至步驟S463可以一直重複,直到程式碼修改完成。 Similarly, the result of the code editing can be temporarily stored and the subsequent editing operations can be performed in stages. Therefore, the following steps can be added between steps S46 and S47 of the foregoing method (see FIG. 16): reading the program code and/or Or content data (S461); editing the set of code and/or content data (S462); and storing the edited set of code and/or content data into the cloud server or the storage block (S463). In step S463, if the editing and debugging process is still in progress, the edited code and/or content data is stored in the storage block; if the group code and the content data have been uploaded to the cloud server 2, the modification is performed. The code and/or content data is stored in the cloud server 2. Steps S461 to S463 can be repeated until the code modification is completed.
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。 Although the present invention has been disclosed in the above embodiments, it is not intended to limit the invention, and those skilled in the art can make some modifications and refinements without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.
Claims (32)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104126786A TWI560613B (en) | 2015-08-18 | 2015-08-18 | Method and system for creating app |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104126786A TWI560613B (en) | 2015-08-18 | 2015-08-18 | Method and system for creating app |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI560613B TWI560613B (en) | 2016-12-01 |
| TW201709057A true TW201709057A (en) | 2017-03-01 |
Family
ID=58227177
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104126786A TWI560613B (en) | 2015-08-18 | 2015-08-18 | Method and system for creating app |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI560613B (en) |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8819624B2 (en) * | 2011-09-26 | 2014-08-26 | Intel Corporation | Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same |
| US20140053126A1 (en) * | 2012-02-13 | 2014-02-20 | Mark A. Watson | Integrated mobile application development platform |
| US8930917B2 (en) * | 2012-05-22 | 2015-01-06 | Adobe Systems Incorporated | Method and apparatus for mobile application development and testing that avoids repackaging and reinstallation |
| TW201419147A (en) * | 2012-11-02 | 2014-05-16 | Chidopi Co Ltd | Systems and methods for automatically generating applications, and computer program products thereof |
| CN103793219A (en) * | 2012-11-05 | 2014-05-14 | 上海略知一二网络科技有限公司 | Mobile terminal application development system and method |
| CN102955698A (en) * | 2012-11-26 | 2013-03-06 | 中国联合网络通信集团有限公司 | Processing method and device based on multi-terminal software development |
| US9965380B2 (en) * | 2013-10-02 | 2018-05-08 | International Business Machines Corporation | Automated test runs in an integrated development environment system and method |
-
2015
- 2015-08-18 TW TW104126786A patent/TWI560613B/en not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| TWI560613B (en) | 2016-12-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2017185606A1 (en) | Overlay mechanism-based apk development method and system | |
| Meier et al. | Professional Android | |
| Ratabouil | Android NDK: beginner's guide | |
| US20140053063A1 (en) | User interface control framework for stamping out controls using a declarative template | |
| CN110928529A (en) | Method and system for assisting operator development | |
| KR101416104B1 (en) | A dynamic loading apparatus and method of java script code performing native functions of hybrid web applications | |
| Verma | Mobile Test Automation With Appium | |
| US20110072371A1 (en) | Application programming interface for user interface creation | |
| US20170052765A1 (en) | Method and system for creating app | |
| Panigrahy | Xamarin Mobile Application Development for Android | |
| Dixit | Android | |
| CN110727423A (en) | Method and system for developing mobile applications across platforms | |
| KR101416096B1 (en) | A highly compatible plug-in system for developing hybrid web applications | |
| CN106445483A (en) | Method and system for generating action application program | |
| Brossier | Developing Android Applications with Adobe AIR | |
| Nair et al. | Learning LibGDX Game Development | |
| Himschoot | Full stack development with microsoft blazor: Building web, mobile, and desktop applications in. net 8 and beyond | |
| Wagner | Professional flash mobile development: creating android and iPhone applications | |
| TW201709057A (en) | Method and system for creating APP respectively editing a set of program codes and content data corresponding to the set of program codes in the editing interface | |
| Talbot et al. | Learning Android application programming: a hands-on guide to building Android applications | |
| Darcey et al. | Learning Android Application Programming for the Kindle Fire: A Hands-on Guide to Building Your First Android Application | |
| Lawrence | Introducing .NET MAUI | |
| Shackles | Mobile Development with C | |
| Nagesh et al. | Cross-platform mobile application development | |
| Kovalenko | PhoneGap By Example |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |