TW201525859A - 對於強化的應用程式開發將試算表用做基礎 - Google Patents

對於強化的應用程式開發將試算表用做基礎 Download PDF

Info

Publication number
TW201525859A
TW201525859A TW103128493A TW103128493A TW201525859A TW 201525859 A TW201525859 A TW 201525859A TW 103128493 A TW103128493 A TW 103128493A TW 103128493 A TW103128493 A TW 103128493A TW 201525859 A TW201525859 A TW 201525859A
Authority
TW
Taiwan
Prior art keywords
application
components
design
spreadsheet
software
Prior art date
Application number
TW103128493A
Other languages
English (en)
Inventor
Uzi Tuvian
Shahar Sonino
Shahar Prish
Uval Blumenfeld
Dan Polak
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW201525859A publication Critical patent/TW201525859A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本文揭示了用於設計應用程式之系統、方法,及軟體。在一實施中,方法包含以下步驟:檢查試算表以識別該試算表之複數個試算表組件,使用該複數個試算表組件根據設計產生可能包含於軟體應用程式中之複數個應用程式組件。該方法亦包含以下步驟:接收包含複數個設計指令之使用者輸入,以於軟體應用程式中包括至少一些複數個應用程式組件;及產生軟體應用程式之至少一實例,該軟體應用程式包含複數個應用程式組件。

Description

對於強化的應用程式開發將試算表用做基礎
本案之態樣係關於計算硬體及軟體技術,且特定言之係關於軟體應用程式設計及開發工具。
線上應用程式市集已變得非常風行,在該等線上應用程式市集中,可以下載來自不同來源之各種應用程式。雖然可在該等市場中可得到用於任何種類的計算環境之任何種類的應用程式,但是該等市場已成為特定設計用於手機及平板電腦環境中之部署的應用程式之主要來源,而且亦可用於桌面下載。
例如,對於使用者使用該等使用者之行動電話在「應用程式商店(app store)」中搜尋所要應用程式係很普遍的,該應用程式諸如遊戲、媒體應用程式等等,該應用程式可隨後作為網頁應用程式得以下載且安裝或遞送,且該應用程式可很容易地在該等使用者之行動電話上執行。其他類型之應用程式亦以此方式可用,該等應用程式包括生產力應用程式,試算表、文字處理文件及其他生產力項目可體驗該等生產力 應用程式。
開發經由應用程式商店分配之應用程式通常需要使 用各種各樣之程式設計語言編碼應用程式,該等程式設計語言諸如JavaScript、Objective C、C++、C#,或HTML5,或任何其他適當語言。當程式設計應用程式時,可使用積體開發環境,該積體開發環境之實例包括Eclipse、Xcode、AppCode,及Visual Studio。相對於為桌上型或膝上型電腦計算環境設計之彼等形狀因數,應用程式通常為行動使用者體驗考慮到不同形狀因數而設計。
試算表保持風行方式以完成各種任務,該等任務諸 如創建財務試算表及管理預算,且事實上,試算表有時可作為同一類的應用程式。例如,使用者可開發特別有用之試算表,該試算表準確地預測會議所需之資源,及與會議相關聯之成本。試算表之實例可經分配給任何數目的人且可用於人們自己的個人目的,實際上很像將起作用之具有類似特徵的應用程式一樣工作。然而,與開發試算表不同,開發此應用程式需要特定於應用程式開發之技術,該等技術超出一般地與試算表程式設計及設計相關聯之技術。
在本文中提供了用於實施強化的應用程式開發之系 統、方法及軟體,在該強化的應用程式開發中,試算表可形成軟體應用程式自其產生之基礎。以此方式,給定試算表之至少一些特徵及功能可作為應用程式變得可用。
在至少一個實施中,可檢查作為應用程式設計環境 之輸入的試算表以識別試算表之組件,使用該等試算表之組件以根據設計產生可能包含於軟體應用程式中之應用程式組件。應用程式組件可經呈現供使用者選擇。應用程式組件中之何者包括於軟體應用程式中可藉由經由使用者輸入接收之設計指令識別。然後,可產生軟體應用程式之實例,該實例包括彼等應用程式組件。
提供此概述以用簡化形式介紹概念之選擇,該等概 念在技術公開中於下文中進一步描述。應理解,本概述不意欲識別所主張標的之關鍵特徵或基本特徵,亦不意欲用於限制所主張標的之範疇。
100A‧‧‧運行情況
100B‧‧‧運行情況
101‧‧‧應用程式設計環境
103‧‧‧試算表
105‧‧‧使用者
107‧‧‧應用程式
108‧‧‧應用程式
111‧‧‧執行環境
113‧‧‧試算表服務
115‧‧‧使用者
200‧‧‧強化的設計過程
201‧‧‧步驟
203‧‧‧步驟
205‧‧‧步驟
207‧‧‧步驟
209‧‧‧步驟
300‧‧‧強化的應用程式過程
301‧‧‧步驟
303‧‧‧步驟
305‧‧‧步驟
400‧‧‧試算表
401‧‧‧單元
403‧‧‧列
405‧‧‧行
407‧‧‧圖表
500‧‧‧使用者介面
501‧‧‧設計畫布
503‧‧‧組件視圖
504‧‧‧命令圖形
505‧‧‧應用程式組件
507‧‧‧源描述
511‧‧‧應用程式組件
513‧‧‧應用程式組件
515‧‧‧應用程式組件
517‧‧‧應用程式組件
518‧‧‧應用程式組件
519‧‧‧應用程式組件
520‧‧‧應用程式組件
521‧‧‧描述
523‧‧‧描述
525‧‧‧描述
527‧‧‧描述
528‧‧‧描述
529‧‧‧描述
530‧‧‧描述
541‧‧‧性質視圖
581‧‧‧設計指令
583‧‧‧設計指令
587‧‧‧設計指令
588‧‧‧設計指令
590‧‧‧設計指令
591‧‧‧使用者輸入
593‧‧‧使用者輸入
600‧‧‧計算裝置
601‧‧‧顯示器
603‧‧‧控制元件
605‧‧‧音訊元件
610‧‧‧使用者介面
611‧‧‧控制
613‧‧‧控制
617‧‧‧控制
618‧‧‧控制
620‧‧‧影像
641‧‧‧使用者輸入
700‧‧‧計算裝置
701‧‧‧顯示器
703‧‧‧控制元件
710‧‧‧使用者介面
711‧‧‧控制
713‧‧‧控制
717‧‧‧控制
718‧‧‧控制
720‧‧‧影像
800‧‧‧通信環境
801‧‧‧計算系統
803‧‧‧計算系統
805‧‧‧計算系統
807‧‧‧計算系統
808‧‧‧應用程式商店
809‧‧‧計算系統
810‧‧‧通信網路
900‧‧‧計算系統
901‧‧‧處理系統
903‧‧‧儲存系統
905‧‧‧軟體
907‧‧‧通訊介面系統
909‧‧‧使用者介面系統
本案之多個態樣可較好地參考以下附圖而理解。雖然結合該等附圖描述了若干實施,但是本案並不限於本文揭示之實施。相反地,本案意圖在於涵蓋所有替代、修改及均等物。
第1A圖圖示關於一實施中之應用程式設計環境之運行情況。
第1B圖圖示關於一實施中之執行環境之運行情況。
第2圖圖示至少部分在一實施中之應用程式設計環境中進行的強化設計過程。
第3圖圖示至少部分在一實施中之執行環境中進行的強化應用程式過程。
第4圖圖示一試算表,軟體應用程式可自該試算表設計於一實施中。
第5A圖圖示應用程式設計環境之使用者介面,當設計一實施中之軟體應用程式時,可體驗該使用者介面。
第5B圖圖示在一實施中之應用程式設計環境之使用者介面及各種相關聯操作。
第5C圖圖示在一實施中之應用程式設計環境之使用者介面及各種相關聯操作。
第5D圖圖示在一實施中之應用程式設計環境之使用者介面及各種相關聯操作。
第6圖圖示在一實施中之與自試算表設計之軟體應用程式相關聯的運行情況。
第7圖圖示在一實施中之與自試算表設計之軟體應用程式相關聯的運行情況。
第8圖圖示在一實施中之通信環境。
第9圖圖示適用於在各種實施中實施各種過程及環境之計算系統。
本文揭示之實施使得能夠以強化方式自試算表開發軟體應用程式,從而允許通過相關聯應用程式體驗試算表中可用之各種特徵及功能。該等實施可允許軟體應用程式得以藉由使用者開發,該使用者具有面向試算表開發,而非應用程式開發之技術組合。在一些實施中,所得軟體應用程式可經由「應用程式商店」向終端使用者公開以在任何環境中享用,然而其他遞送模式亦是可能的。
在一實施中,在應用程式設計環境中檢查試算表以 識別試算表之一組試算表組件,使用該等試算表組件以根據設計產生有可能包括於軟體應用程式中之各種應用程式組件。檢查試算表可包括檢查試算表之每一單元以決定是否該單元使該單元自身關聯於特性集中之至少一個特性,該特性集包括公式、控件,及儲存於該特性集中之資訊,該資訊表示對於儲存於複數個欄位中之其他欄位中的其他資訊之分類。若單元不具有任何該等特性,則彼單元適合作為試算表組件,可自該試算表組件產生應用程式組件。亦可檢查且選擇除單元之外的其他元件以便作為應用程式組件顯現,該等其他元件諸如分離於單元顯現之控件及影像。
應用程式組件中之何者包括於所得軟體中可藉由設 計指令來指示,該等設計指令作為應用程式設計環境之使用者輸入接收。然後,可產生包括彼等組件之軟體應用程式之實例。使用者輸入可經由使用者介面接收至應用程式設計環境。在一些情況下,使用者介面可包括應用程式組件之組件視圖及設計畫布,在該設計畫布上經由使用者輸入設計軟體應用程式。
規定應用程式組件中之何者包括於軟體應用程式中 之設計指令可各自為在軟體應用程式中包括一應用程式組件之個別指令。例如,個別指令可經由觸控手勢提供,該觸控手勢將應用程式組件從組件視圖拖放至設計畫布上。除觸控手勢之外或作為觸控手勢之替代,可能的其他類型之使用者輸入包括語音、滑鼠輸入,或鍵盤輸入。此外,除拖放操作之外或作為拖放操作之替代,可使用選項單選擇、離散指令, 或某些其他操作。
在一些實施中,在使用者介面中可用性質視圖,經 由該使用者介面,可查看且有可能地編輯應用程式組件之性質以改變應用程式組件之各種特性。在一實例中,雖然應用程式組件可最初地特徵化為一種類型之控制,但是應用程式組件可經由性質視圖編輯而特徵化為一不同類型之控制。因此,相對於該應用程式組件可能已如何表現使該應用程式組件之初始性質得以維持,當應用程式組件根據設計作為軟體應用程式之一部分顯現時,該應用程式組件可呈現不同行為或其他態樣。
在一些實施中之使用者介面亦可包括環境控制,經 由該環境控制為軟體應用程式選擇操作環境。可從一組不同之操作環境選擇操作環境,該等操作環境諸如Android®操作環境、iOS®操作環境,及Windows®操作環境。除本文揭示之彼等操作環境之外或作為彼等操作環境之替代,其他操作環境亦是可能的且可在本案之範疇之內考慮該等其他操作環境。一旦軟體應用程式產生,就可經由線上應用程式商店(「應用程式商店」)公開軟體應用程式,該線上應用程式商店可通常與所選擇之操作環境相關聯,或經由其它適當的遞送方法可利用。
在一些實施中,所得軟體應用程式驅動計算系統顯 現軟體應用程式之使用者介面,該軟體應用程式包括鏈接至相關聯試算表中之各種試算表組件之應用程式組件。軟體應用程式可經由試算表與支援該試算表之試算表服務通訊。回 應於關於至少一個應用程式組件接收之資訊,軟體應用程式將該資訊傳遞至相應試算表以便藉由試算表服務處理。
現參看諸圖,第1A圖圖示其中軟體應用程式係自 應用程式設計環境中之試算表產生的運行情況,而第1B圖圖示執行環境中之所得應用程式之操作。第2圖圖示在應用程式設計環境中進行之強化設計過程,且第3圖圖示在執行環境中進行之強化的應用程式過程。第4圖圖示示例性試算表,而第5A圖至第5D圖圖示用以根據第4圖中之試算表產生應用程式之應用程式設計環境的使用者介面。第6圖及第7圖兩者圖示示例性軟體應用程式。第8圖圖示其中可使用強化的應用程式開發之通信環境,而第9圖圖示適用於實施本文揭示之各種環境及過程中之任一者的計算系統。
轉到第1A圖,圖示運行情況100A,在該運行情況 中,應用程式設計環境101接收試算表103作為輸入,且通過鑒於藉由使用者105提供之使用者輸入執行第2圖中所示之強化的設計過程200,應用程式設計環境101產生應用程式107。
應用程式設計環境101表示其中可使用強化的設計 過程200之任何軟體環境。例如,可在生產力應用程式之上下文之內實施強化的設計過程200,該生產力應用程式諸如試算表應用程式、文字處理器,或呈現應用程式。在另一實例中,可在軟體設計工具之上下文之內實施強化的設計過程200。在任何情況下,其中可提供強化的設計過程200之一或更多個應用程式可以各種方式遞送,該等方式例如作為本端 安裝且執行之應用程式、作為串流應用程式、作為瀏覽器之上下文之內的網路應用程式,或以任何其他適當方式。
各種類型之實體或虛擬計算系統可用以在上述應用 程式之上下文之內實施強化的設計過程200,該等應用程式諸如伺服器電腦、桌上型電腦、膝上型電腦、平板電腦、智慧型電話,或任何其他適當計算設備,其中下文相對於第9圖所述之計算系統900為代表性的。實體或虛擬計算系統可作為獨立系統獨立地部署,但是實體或虛擬計算系統亦可諸如在資料中心以合作的方式或以根據主從原理促進交互作用之某一其他協調方式部署。
試算表103表示適用於應用程式設計環境101中之 處理以產生應用程式107之任何試算表。試算表103可表示單個獨立的表,但是試算表103亦可整合於表的工作薄之內。 試算表103亦可表示多個表,該多個表可經一起處理以產生應用程式107。在其他實例中,試算表103可表示整合於另一類型之生產力文件中之表或表格,該生產力文件諸如文字處理文件、呈現文件,或筆記文件。
試算表103可包括各種試算表組件,諸如單元、單 元之內的資訊及公式、影像,及控制。至少一些試算表組件可相互交互作用以提供各種特徵及功能。例如,試算表103可用以實施會計、財務,或組織工具。除本文論述之彼等組件之外或作為彼等組件之替代,其他組件亦是可能的且可在本案之範疇之內考慮該等其他組件。
應用程式107表示將試算表103用作基礎藉由應用 程式設計環境101產生之任何軟體應用程式。應用程式107之實例包括但不限於「應用程式」,該等「應用程式」可經由應用程式商店分配以便部署於各種執行環境中。然而,應用程式107亦可表示除應用程式商店之外以某一其它方式分配之應用程式,諸如來自應用程式伺服器、手動分配,或經由服務分配之應用程式。
在運行情況100A中,使用者105經由使用者介面 (未圖示)與應用程式設計環境101交互作用以導引試算表103之載入。使用者可經由基於觸控之手勢、滑鼠或鍵盤交互作用、口頭語言,或以任何其他適當方式與使用者介面交互作用。
在此示例性情況下,假定為了產生應用程式107之 目的載入試算表103,但是可能已為了某些其他原因載入該試算表,該等其他原因諸如用於編輯、分析等等。因此,應用程式設計環境101檢查試算表103以識別至少一些試算表組件,使用該等試算表組件以產生當設計應用程式107時可能被使用之應用程式組件,該等應用程式組件之更多細節根據第2圖論述於下文中。
應用程式組件係經由使用者介面呈現給使用者 105。使用者105經由使用者介面提供設計指令以識別應用程式組件中之何者包括於應用程式107中。設計指令亦可關於組件如何被顯示及表現。最後,應用程式設計環境101產生應用程式107,應用程式107包括至少經選擇之應用程式組件。
在藉由應用程式設計環境101產生之後,應用程式 107可以各種方式公開以便在各種執行環境中下載且使用,其中圖示於第1B圖中之執行環境111係代表性的。在第1B圖中,圖示運行情況100B,其中由應用程式108表示之應用程式107的實例如在執行環境111中經下載且安裝。除下載之外或作為下載之替代,其他機制亦是可能的,諸如提供至應用程式107之基於網路之版本的鏈接。
執行環境111表示任何軟體環境,在該軟體環境 中,可執行應用程式108且;隱含式地,在該軟體環境中,可使用強化的應用程式過程300。例如,在一些情況下,應用程式108可在行動操作系統之上下文中實施,該行動操作系統諸如Android®、iOS®、Windows Phone®,及Windows RT®,以及任何其他行動操作系統或變體。在其他情況下,應用程式108可在其他操作系統之上下文中實施,該其他操作系統諸如Windows®、OS X®,及Linux®,以及另一適當操作系統或變體。在其他情況下,應用程式108可在另一應用程式之上下文之內實施,該另一應用程式諸如瀏覽器、生產力應用程式、遊戲應用程式,或個人資訊管理(電子郵件)應用程式,以及任何其他適當應用程式,上述應用程式之組合或變體。
應用程式108,且隱含式地,強化的應用程式過程 300可例如作為本端安裝且執行之應用程式、作為串流應用程式、作為至少部分地在瀏覽器上下文之內執行之網路應用程式或服務以各種方式提供且遞送,或者以任何其他適當方式 提供且遞送。各種類型之實體或虛擬計算系統可用以實施應用程式108,該應用程式108包括智慧型電話、平板電腦、桌上型電腦或膝上型電腦、伺服器電腦,或任何其他適當計算設備,其中下文相對於第9圖所論述之計算系統900為代表性的。實體或虛擬計算系統可作為獨立系統獨立地部署,但是實體或虛擬計算系統亦可諸如在資料中心以合作的方式或以根據主從原理促進交互作用之某一其他聚合方式部署。
在運行情況100B中,應用程式108經下載且安裝於 執行環境111中。應用程式108可下載自例如,應用程式商店、應用程式伺服器,或提供服務之某一其他應用程式。應用程式108亦可諸如藉由自儲存裝置將該應用程式複製而手動獲得且安裝。用於下載且安裝應用程式108之其他機制亦是可能的,且該等機制可被視為在本案之範疇之內。在一些實施中,不必安裝應用程式108,更確切而言,應用程式108可在已安裝某一其他應用程式之上下文之內串流化或執行,該某一其他應用程式諸如瀏覽器。
最後,以某一方式執行應用程式108,無論該應用 程式本身為已安裝之應用程式或其他應用程式。類似於多數應用程式,當執行應用程式108時,至應用程式108之使用者介面(未圖示)經呈現給使用者,該使用者在第1B圖中由使用者115表示。可以瞭解,使用者115為與使用者105不同之使用者,使用者115意欲傳遞已分佈應用程式107之實例供藉由除使用者105以外的其他使用者使用。然而,可以瞭解,使用者105同樣可以與使用者115相同之方法操作應 用程式108。
按照上文關於第1A圖之論述,應用程式108包括 各種應用程式組件,該等應用程式組件對應於試算表103中之各種試算表組件。使用者115可不時地經由使用者介面與至少一些應用程式組件交互作用以,例如輸入資訊、查看資訊,或以其他方式操作藉由應用程式108提供之各種特徵及功能。當此舉發生時,資訊藉由執行環境111傳遞至試算表服務113以便處理。處理之結果可返回至執行環境111以便呈現給使用者115。
試算表服務113表示能夠處理試算表上下文之內的 資訊之任何服務。在某些實例中,試算表服務113可表示試算表應用程式,試算表103可經載入至該試算表應用程式中,該試算表應用程式諸如Microsoft® Excel®。試算表服務113亦可表示試算表應用程式之模組或其他部分,諸如計算引擎。在一些情況下,試算表服務113經實施為基於網路之服務,其中Microsoft® Excel® Web App為一實例。在其他情況下,試算表服務113可經實施於專用應用程式伺服器上,或甚至例如作為本端安裝之應用程式相對於執行環境111本端地實施。
在一簡明實例中,應用程式108可包括應用程式組 件,該應用程式組件為可編輯控制,使用者115可經由該可編輯控制輸入值。值可經傳遞至試算表服務113以便於試算表103中表示之公式或某一其他關係之上下文之內處理。試算表服務113可輸入值至相關聯之公式中,在圖表或圖形之 上下文中評估,或以某一其他方式處理值。無論如何,處理之結果返回至執行環境111以便經由使用者介面呈現給使用者115。結果可為另一值、更新之圖形、應用程式狀態之改變,或某種其他結果。
第2圖圖示如上文所述之強化的設計過程200,該 設計過程可在應用程式設計環境101中載入試算表之上下文之內執行。特定言之,當最初地對於試算表組件檢查試算表103時,可使用強化的設計過程200,該等試算表組件在相應軟體應用程式之設計期間可能有用。為了清晰之目的,以下論述順便地參考第2圖中所示之步驟,但是可以瞭解,額外步驟亦是可能的。
在操作中,應用程式設計環境101檢查試算表103之每一試算表組件,以決定該試算表組件之特性(步驟201)。例如,可檢查試算表103中之每一單元以決定是否該單元具有以下特性中之任一者:儲存於該單元中之值;與該單元相關聯之名稱;是否該單元含有公式;且該單元是否由另一單元中之公式所參考。在另一實例中,試算表103中之每一圖形目標可經檢查以決定該圖形目標之意義,諸如是否該圖形目標連結至任何單元或單元群組或以其他方式與任何單元或單元群組相關聯。其他特性亦是可能的,且可在本案之範疇之內考慮該等其他特性。
在決定試算表組件之特性之後,應用程式設計環境101決定是否試算表組件適合於設計考慮(步驟203)。換言之,應決定給定試算表組件是否足夠重要以值得顯現為設計 畫布中之應用程式組件,該設計畫布用以根據試算表103設計軟體應用程式。試算表組件是否適合可基於一組可程式化規則或設定決定。在簡要實例中,空白單元可能將不適合,而具有包含於單元中之公式的單元將適合。在某些實例中,若參考其他單元,則空白單元將適合。在另一實例中,是否一單元係由另一單元或其他單元參考亦可為重要性指示。事實上,一單元可由若干其他單元參考而自身不參考任何單元可指示該單元提供輸入函數至若干公式,在此情況下,該單元被認為是重要的。在又一實例中,若既不由任何其他單元參考,亦不參考任何其他單元之單獨單元傳遞重要資訊,則該單獨單元可為重要的。因此,可應用多種規則以在設計階段期間決定是否單元重要到可以被考慮。可以瞭解,哪些單元被認為是重要的可僅為幫助使用者設計應用程式之建議。
下一步,對於合格之任何試算表組件,產生相應應 用程式組件以便在應用程式設計環境101之使用者介面中顯現(步驟205)。應用程式組件可從而由使用者105考慮以便包含於應用程式107中。應用程式組件之產生可藉由使用自動化程式設計工具來完成,該自動化程式設計工具能夠獲得定義之輸入,該輸入諸如試算表組件或該試算表組件之描述;且根據特定編碼範例產生相應應用程式組件。應用程式組件可為各種類型之組件或控制中之一者,該組件或控制諸如文字框、下拉式選項單、單選按鈕等等。決定應用程式組件應為何種控制類型可基於諸如單元之特定試算表組件與其他試算表組件如何有關。
例如,若試算表組件為在該單元中具有下拉式選項單之單元,則該相應應用程式組件可為下拉式選項單。在另一實例中,若試算表組件看起來為作為一公式或多個公式之輸入的單元,則相應應用程式組件可經顯現為文字框。可以瞭解,即使應用程式組件經定義為一種類型之控制,該應用程式組件亦可稍後經由使用者輸入改變為不同種類之控制。亦可瞭解,該等決定可僅為建議且可易於藉由使用者改變。
亦可瞭解,對於試算表103中之每一試算表組件重複步驟201至205。一旦試算表103之檢查完成,在設計過程期間可用於選擇之各種應用程式組件可呈現給使用者105,且經由使用者輸入從使用者105接收設計指令(步驟207)。設計指令可指示應用程式組件中之何者被包括於待產生之應用程式中,因為此舉可能對於排除一些應用程式組件有用。設計指令可以各種方式傳遞,該等方式諸如藉由觸控手勢、滑鼠點擊、鍵盤鍵擊、語音命令,或任何其他適當類型之使用者輸入。
在一情況下,所選擇之應用程式組件可經拖放至設計畫布上以指示該應用程式組件應包括於應用程式中。放至畫布上之任何應用程式組件可以該應用程式組件在應用程式中顯現之一方式定位。在另一情況下,應用程式組件可經指定用於藉由設定之選項單選項包含在應用程式中,該選項單選項可同樣經切換或選擇以指示。其他交互作用亦是可能的,諸如查看應用程式組件之性質、改變給定應用程式組件之格式或類型,或標記組件。此外,可包括並非衍生自試算 表103之其他應用程式組件,諸如標記、影像等等。
在使用者105已完成設計應用程式107之後,可產 生應用程式107(步驟209)。應用程式107之產生可涉及各種步驟,該等步驟包括產生與每一應用程式組件相關聯之編碼。換言之,在選擇時,經選擇用於包含在設計中之每一應用程式組件為下層組件之視覺或圖形表示,該下層組件將需要被編碼。每一應用程式組件可經自動地轉換為該應用程式組件自身之編碼版本。編碼可根據各種程式設計語言發生,該等程式設計語言諸如Objective-C、C、C++、HTML、CCS,及JavaScript,以及任何其他適當語言。在一些實施中,編碼可能並不在上述意義上發生。更確切而言,可建立參考預建立之定義文件或外殼。在運行時間,可提取預建立代碼並且將該代碼載入以實施應用程式。
為了自動地產生每一應用程式之代碼,可預先產生 可得以存取之代碼庫。代碼庫可包括例如,文字框之模板代碼、下拉式選項單,或由設計中之任何應用程式組件表示之任何其他類型的控制。模板代碼可經定製以配適給定應用程式組件,且模板代碼包括在程式代碼中以便應用。應用程式組件之編碼亦可包括將應用程式組件鏈接至該等應用程式組件之相應試算表組件,以便在運行時間,通訊可接著發生於應用程式107與試算表服務113之間。取決於實施,可執行其他步驟,諸如將代碼編譯成為適用於特定環境之格式。
一旦產生應用程式107,該應用程式可被上載至應 用程式商店或某一其它平臺以便分佈給更廣泛的受眾。應用 程式107之實例可經下載且部署於各種執行環境之內。第3圖圖示如上文所述之強化的應用程式過程300,該應用程式過程可執行於執行環境111中之下載及運行應用程式108的上下文之內。
在操作中,應用程式108可在執行環境111中載入 且執行。像多數應用程式一樣,應用程式108之使用者介面可經顯現且顯示給使用者115。使用者115可與包括於使用者介面中之各種應用程式組件交互作用,該等應用程式組件諸如文字框、下拉選項單,等等。當使用者115與應用程式組件交互作用時,接收使用者輸入(步驟301)。使用者輸入可包括資訊,該資訊諸如值、文本輸入,或某種其他資訊。
假定相對於鏈接至試算表103之應用程式接收使用 者輸入,識別試算表組件,該試算表組件對應於使用者115與其交互作用之應用程式組件(步驟303)。執行環境111可能地經由試算表103與試算表服務113通訊,以轉發資訊以便在試算表103之上下文之內處理(步驟305)。試算表服務113可處理資訊以,例如對於資訊執行相關公式、更新圖形,或執行任何數目之其他試算表操作。處理之結果可返回至執行環境111。
第4圖圖示示例性試算表400,而第5圖圖示軟體 設計應用程式之使用者介面500,該軟體設計應用程式可用以基於試算表400產生應用程式。試算表400包括各種試算表組件,當根據強化的設計過程200檢查該等試算表組件時,該等試算表組件形成在使用者介面500中顯現之各種應用程 式組件之基礎。
試算表400中之試算表組件包括藉由列403及行405 界定之單元401。此外,試算表400包括圖表407,圖表407具有衍生自一些單元401之圖形及值。每一單元可使該單元關聯於一或更多個特性,該等特性諸如該特性的值、該特性的名稱、是否該特性含有公式、該特性可參考哪些單元,哪些單元可參考該特性,或任何其他類型之特性。其他實例包括任何控制之存在或該等控制與給定單元之關聯,該等單元諸如下拉框或選擇列表。其他類型之試算表組件(諸如圖形或影像)亦可具有與該等試算表組件相關聯之類似特性。
在此實例中,在試算表400中創建了簡單的財務或 賬戶工具,以幫助追蹤與多個項目中之每一者相關聯之相對成本。列號2定義多個資料行:項目類型、項目數量、每項目價格,及每一項目之小計。在小計行中之每一單元包括公式,該公式將項目數量與每項目價格相乘。藉由求和公式在D8單元中提供總計,求和公式將小計求和。
圖表407圖示每一項目類型之小計之比較。每一小 計經表示為該小計在總計中之份額。因此,表示與項目類型「bravo」相關聯之成本份額的D8單元之小計為大約54%,等等。由於試算表400中之值不時變化,所以圖表407亦將不時變化。
當經受諸如強化的設計過程200之應用程式設計過 程時,第4圖中所示之試算表元素將得以檢查、編目以及該等元素之相對重要性評估。若給定試算表組件被認為足夠重 要,則可在應用程式設計過程期間考慮產生相應應用程式組件。
作為一實例,當檢查時,A1單元將被視為不重要 的,因為A1單元既不含有文字、值或控制,亦不由任何單元參考。然而,A1單元可被視為重要的,因為A1單元含有文字。可視為重要的另一單元為D3,因為D3單元含有參考兩個其他單元之公式。當然,歸因於圖表407之動態性質及該圖表對數個單元之參考,圖表407將可能被視為重要的。
雖然試算表400中之工具為了說明性目的相對包含 於有限數目之單元之內,但是實際上,試算表可包括遍及試算表分佈之重要單元。此外,試算表可包括多個工具。在再一變化中,多個試算表可經包括於為了設計目的而檢查之單個工作薄中。因此,檢查試算表之重要組件可能是有益的,以便簡化或至少流線化設計過程。
第5A圖圖示在一實例中之使用者介面500,該使用 者介面可為在檢查試算表400之後所呈現之使用者介面。使用者介面500亦可表示任何設計應用程式之使用者介面,該設計應用程式可用於使用試算表作為基礎產生應用程式。使用者介面500包括設計畫布501及組件視圖503。設計畫布501為任何畫布,應用程式組件505可自組件視圖503移動至該畫布上。組件視圖503為任何視圖,在該視圖中,自試算表400產生之應用程式組件505可為了設計目的而分段。組件視圖503亦包括源描述507,源描述507描述試算表400中之每一應用程式組件之來源。
在此實例中,已檢查試算表400之重要試算表組 件,且已自彼等試算表組件產生應用程式組件505。為了示例性目的,圖示了一組應用程式組件511至520,以及每一應用程式組件之相應描述521至530。應用程式組件511為按照描述521對應於單元A3之控制,而應用程式組件513為按照描述523對應於單元B3之控制。因此,應用程式組件511及應用程式組件513對應於試算表400中鄰近於彼此之兩個單元。
然而,下一組件,應用程式組件515,為按照描述 525對應於單元D3之控制。應注意,對應於單元C3之應用程式組件不包括在組件視圖503中。此者可能出於各種原因而發生,該等原因包括單元C3被認為是不重要的。或者,單元C3可能已被認為是重要的,但是由於某種其他原因而被過濾出組件視圖503,或以其他方式自組件視圖503排除。
繼續應用程式組件505,應用程式組件517、518及 519亦為控制且按照描述527、528及529分別對應於單元A4、B4及D4。應用程式組件520為一影像,該影像按照描述530對應於圖表407。
在操作中,使用者可與使用者介面500交互作用以 按任何如此所需之方式將應用程式組件505中之任一者安置於設計畫布501上。組件在設計畫布501中如何佈置將控制該等組件在產生之任何所得應用程式中如何顯現。
第5B圖圖示一此運行情況,在該運行情況中,使用 者輸入經接收以將一些應用程式組件安置於設計畫布501上。使用者輸入可以觸控輸入之形式接收,例如,拖放一些 應用程式組件至設計畫布501上。特定言之,以拖放手勢之順序接收多個設計指令581、583、587、588及590,以將應用程式組件511、513、517、518及520移動且定位至設計畫布501上。可藉由使用者輸入選擇命令圖形504以至少部分地基於所選擇之應用程式組件如何經安置於設計畫布501上來產生應用程式。
第5C圖圖示第5B圖中所示之情況之後的另一運行 情況。在第5B圖中,各種應用程式組件經安置於設計畫布501上。在第5C圖中,應用程式組件係藉由使用者輸入591及593重定位至設計畫布501之新的區域。此情況圖示了相對簡易性,應用程式組件可使用該簡易性經安置且重定位於設計畫布501上,從而減少設計應用程式之外觀所需的努力。
第5D圖圖示在第5B圖及第5C圖中之彼等情況之 後發生的再一情況。在第5D圖中,應用程式組件518係藉由使用者輸入593選擇以查看該應用程式組件之性質。因此,應用程式組件518之性質及各種性質選項經顯現於性質視圖541中。例如,顯示應用程式組件518之類型或格式,以及可能藉由使用者選擇改變至之若干其他類型。此外,顯示對應於應用程式組件518之單元之名稱(若存在),以及彼單元之值及彼單元之可見度。應可瞭解,除本文揭示之彼等性質之外或作為彼等性質之替代,其他性質亦是可能的且可在本案之範疇之內考慮該等其他性質。
經由性質視圖541,可查看且可能地編輯應用程式 組件518之性質。例如,若應用程式組件518最初地經配置 為作為公式之輸入的文字框,則該應用程式組件之類型或格式可經改變為下拉框,該下拉框提供值之選項單以選作至公式之輸入。
第6圖及第7圖共同圖示可如何經由使用者介面500不同地設計應用程式以便部署至具有不同形狀因數之裝置。此外,第6圖圖示一些動態,當與自試算表產生之應用程式交互作用時可能會遇到該等動態,該應用程式諸如應用程式108。
特定言之,第6圖圖示在一運行情況中之計算裝置600,該圖說明經由使用者介面500設計之應用程式當執行時可如何出現。計算裝置600包括顯示器601、控制元件603,及音訊元件605。顯示了應用程式之實例的使用者介面610。
使用者介面610包括各種應用程式組件,該等應用程式組件對應於使用使用者介面500在設計階段期間選擇之應用程式組件。應用程式組件包括四個控制611、613、617及618,值或文字可經輸入至該四個控制中,或者自公式評估所得之資料或文字可經由該四個控制顯示。應注意,為了示例性目的,控制611、613、617及618中之值對應於試算表400中之某些單元中的值,該等單元鏈接至相同控制。此外,使用者介面610包括影像620,影像對應於第4圖中所示之圖表407。
在操作中,使用者可與使用者介面610交互作用以例如輸入新的資料。在此情況下,根據控制613輸入使用者輸入641。控制613之值係自4變化至10。此變化係藉由下 層應用程式傳遞至試算表服務,其中試算表服務113可為代表性的。試算表服務之任務是評估改變且重新評估可能由該改變涉及之任何其他公式、單元,或任何其他元素。新的結果經傳遞回至下層應用程式以便在使用者介面610中表面化。因此,控制613之值至「10」的改變引起若干其他值的改變,該等改變亦可驅動對圖表407之改變,該等其他值諸如試算表400中之小計及總計。圖表407係藉由試算表服務更新,且影像620經再新以反映該更新。
第7圖圖示可能使用使用者介面500產生之應用程 式之另一示例性佈置。在第7圖中,計算裝置700包括顯示器701及控制元件703。應用程式之使用者介面710經顯示於顯示器701上且包括各種應用程式組件,該等應用程式組件對應於在設計階段期間選擇之彼等應用程式組件。特定言之,使用者介面710包括控制711、控制713、控制717,及控制718。使用者介面710亦包括影像720,影像720對應於圖表407。
第8圖圖示通信環境800,通信環境800表示其中 可進行本文論述之各種運行情況及過程之任何環境。通信環境800包括通信網路810,通過該通信網路810,計算系統801、803及805可以有可能地在設計應用程式或執行應用程式之上下文中與計算系統807、與計算系統809及與彼此通訊。
計算系統801、803及805之實例包括,但不限於桌 上型電腦、工作站、膝上型電腦、筆記型電腦、平板電腦、 行動電話、個人數位助理、媒體裝置、遊戲裝置,及任何其他實體或虛擬計算機或上述各者之組合及變體。計算系統801、803及805可各自能夠實施應用程式設計環境101及執行環境111中之至少一者。第9圖中所示之計算系統900表示計算系統801、803及805。第6圖及第7圖中所示之計算裝置600及計算裝置700分別亦至少表示計算系統803及805。
應用程式設計環境101可以程式指令實施,當該等 程式指令藉由計算系統801執行時,導引計算系統801如本文所述針對應用程式設計環境101及強化的設計過程200而操作。程式指令可採用編譯目標碼、解譯腳本之形式,或直接或間接地藉由計算系統801可執行之任何其他適當形式的程式指令。
執行環境111亦可以程式指令實施,當該等程式指 令藉由計算系統803或計算系統805執行時,導引計算系統803或計算系統805如本文所述針對執行環境111及強化的應用程式過程300而操作。程式指令可採用編譯目標碼、解譯腳本之形式,或直接或間接地藉由計算系統801或計算系統805可執行之任何其他適當形式的程式指令。
計算系統807可為任何計算系統或計算系統之集 合,該計算系統或計算系統之集合能夠實施應用程式商店808,其中計算系統900為代表性的。計算系統809亦可為任何計算系統或系統之集合,該計算系統或系統之集合能夠實施試算表服務113,其中計算系統900為代表性的。兩種計算 系統之實例包括伺服器電腦、雲計算平臺、資料中心,及任何實體或虛擬計算機,以及上述各者之任何變體或組合。
在操作中,計算系統801可不時地與計算系統807 通信以將設計於應用程式設計環境101中之應用程式上載至應用程式商店808。應用程式可藉由計算系統807傳遞至計算系統803及計算系統805中之任一者或兩者,以便於執行環境111中載入且執行。當執行應用程式時,計算系統803及計算系統805可與計算系統809通信,以促進試算表服務113與應用程式之間的資訊及結果交換。
在第8圖中預期之任何元件之間的通信可根據各種 通信協定發生,該等通信協定諸如網際網路協定(IP、IPv4、IPv6等等)、傳送控制協定(transfer control protocol;TCP),及使用者資料包協定(user datagram protocol;UDP),以及任何其他適當通信協定、上述協定之變體或組合。通信網路810可表示網路或網路之集合,通過該網路或網路之集合,第8圖中預期之元件可交換資訊,該等網路諸如內部網路、網際網路、區域網路、廣域網路、無線網路、有線網路,或上述網路之任何組合或變體。通信網路810可包括連接、裝置,及通訊媒體,該通訊媒體諸如金屬、玻璃、空氣,或資訊可通過其交換之任何其他適當通訊媒體。上述通訊媒體、網路、連接、協定及裝置為眾所熟知的且不必在本文中詳細論述。
其中交換資訊之方式及格式可能不同。在一些實施中,應用程式設計環境101為了設計目的載入本端儲存之試算表。在其他實施中,應用程式設計環境101可能需要與遠 端源通信以獲得所有或部分試算表,該遠端源具有儲存或代管於該遠端源中之試算表。此外,應用程式設計環境101可上載已完成之應用程式至應用程式商店808。同樣地,應用程式商店808可下載應用程式至執行環境111中。在運行時間,執行環境111可與試算表服務113通信以交換資訊及處理結果。
在其中交換資訊之上述實例中之任一者中,資訊之 交換可根據各種協定中之任一者發生,該等協定包括:檔案傳送協定(file transfer protocol;FTP)、超文件傳送協定(hypertext transfer protocol;HTTP)、表示性狀態傳送(representational state transfer;REST)、WebSocket、文件物件模型(Document Object Model;DOM)、超文件標示語言(hypertext markup language;HTML)、級聯式樣表單(cascading style sheets;CSS)、HTML5、可延伸性標示語言(extensible markup language;XML)、JavaScript、JSON(JavaScript對象表示),及AJAX(異步JavaScript及XML),以及任何其他適當協定、上述協定之變體或組合。
現參看第9圖,計算系統900表示任何適當計算系 統,該計算系統可用於實施應用程式設計環境101及強化的設計過程200或執行環境111及強化的應用程式過程300之所有或部分,且視情況地可用於實施本文所述之其他環境、使用者介面,及運行情況及順序中之任一者。計算系統900可經實施為單個設備、系統或裝置,或計算系統900可以分散式方式實施為多個設備、系統,或裝置。
計算系統900之實例包括但不限於,桌上型電腦、 膝上型電腦、平板電腦、筆記型電腦、行動計算裝置、行動電話、媒體裝置,及遊戲裝置,以及任何其他類型之實體或虛擬計算機及上述各者之任何組合或變體。計算系統900之其他實例亦可包括伺服器電腦、雲計算平臺,及資料中心,以及任何其他類型之實體或虛擬伺服器機器,或上述各者之任何變體或組合。
計算系統900包括但不限於,處理系統901、儲存 系統903、軟體905、通訊介面系統907,及使用者介面系統909。處理系統901經可操作地與儲存系統903、通訊介面系統907,及使用者介面系統909耦接。處理系統901載入且執行來自儲存系統903之軟體905。當藉由處理系統901執行時,軟體905導引處理系統901如本文所述針對強化的設計過程200或該設計過程之變體操作,或導引處理系統901如本文所述針對強化的應用程式過程300或該設計過程之變體操作,且視情況地導引處理系統901如本文所述針對本文所揭示之環境、使用者介面,及運行情況及順序中之任一者操作。計算系統900可視情況地包括額外裝置、特徵或功能,為了簡潔之目的,未對該等裝置、特徵或功能進行論述。
仍參看第9圖,處理系統901可包含微處理器及接 收且執行來自儲存系統903之軟體的其他電路。處理系統901可實施於單個處理裝置之內,且處理系統901亦可橫跨合作以執行程式指令之多個處理裝置或子系統分佈。處理系統901之實例包括,通用中央處理單元、特定應用處理器,及邏輯 裝置,以及任何其他類型之處理裝置,上述各者之組合或變體。
儲存系統903可包含任何電腦可讀儲存媒體,該電 腦可讀儲存媒體可藉由處理系統901可讀且能夠儲存軟體905。儲存系統903可包括以用於儲存資訊之任何方法或技術實施之揮發性及非揮發性、可移除及非可移除媒體,該資訊諸如電腦可讀指令、資料結構、程式模組,或其他資料。儲存媒體之實例包括隨機存取記憶體、唯讀記憶體、磁碟、光碟、快閃記憶體、虛擬記憶體及非虛擬記憶體、磁帶盒、磁帶、磁碟儲存器或其他磁性儲存裝置,或任何其他適當儲存媒體。電腦可讀儲存媒體在任何情況下皆不為傳播訊號。
除電腦可讀儲存媒體之外,在一些實施中,儲存系 統903亦可包括電腦可讀通訊媒體,通過該電腦可讀通訊媒體,軟體905可內部地或外部地傳遞。儲存系統903可經實施為單個儲存裝置,但是儲存系統903亦可橫跨共定位或相對於彼此分佈之多個儲存裝置或子系統實施。儲存系統903可包含諸如控制器之額外元件,該等額外元件能夠與處理系統901或有可能地其他系統通訊。
軟體905可以程式指令及其他功能實施,當程式指 令及其他功能藉由處理系統901執行時,程式指令及其他功能導引處理系統901如本文所述針對強化的設計過程200及該設計過程之變體操作,或針對強化的應用程式過程300及該應用程式過程之變體操作,且視情況地如所述相對於本文揭示之各種環境、運行情況,及操作程序操作。特定言之, 程式指令可包括各種組件或模組,該等組件或模組合作或以其他方式交互作用以進行強化的設計過程200或強化的應用程式過程300。各種組件或模組可以編譯或解譯之指令,或以指令之某一其他變體或組合體現。各種組件或模組可在單線環境或多線環境中串列或並列地以同步或異步方式,或根據任何其他適當執行範例、變體,或該範例及變體之組合執行。 軟體905可包括額外的過程、程式,或組件,諸如操作系統軟體或其他應用程式軟體。軟體905亦可包含韌體或藉由處理系統901可執行之某種其他形式之機器可讀處理指令。
通常,當軟體905載入至處理系統901中且執行時, 軟體905可將適當設備、系統或裝置(其中計算系統900為代表性的)整體地自通用計算系統變換為專用計算系統,該專用計算系統經定製以促進針對每一實施之如本文所述的強化的應用程式設計及開發。實際上,儲存系統903上之編碼軟體905可變換儲存系統903之實體結構。實體結構之特定變換可取決於在本描述之不同實施中的各種因素。該等因素之實例可包括但不限於,用以實施儲存系統903之儲存媒體之技術以及是否電腦儲存媒體經特徵化為主要儲存器或次級儲存器,以及其他因素。
例如,若電腦可讀儲存媒體經實施為基於半導體之 記憶體,則當程式指令經編碼於半導體記憶體中時,軟體905可諸如藉由變換構成半導體記憶體之電晶體、電容,或其他離散電路元件之狀態,來變換半導體記憶體之物理狀態。可相對於磁性或光學媒體發生類似變換。在不背離本描述之範 疇之情況下,實體媒體之其他變換亦是可能的,其中僅提供上述實例以促進本論述。
應理解,計算系統900通常意欲表示一或更多個計 算系統在該一或更多個計算系統上,可部署且執行軟體905以實施強化的設計過程200或強化的應用程式過程300,以及視情況地實施本文所述之各種環境及運行情況及序列之所有或部分。然而,計算系統900亦可適合作為任何計算系統,軟體905可在該計算系統上經分段且軟體905可自該計算系統分佈、傳送、下載,或以其他方式提供到另一計算系統用於部署及執行,或更額外的分佈。
通訊介面系統907可包括通訊連接及裝置,該等通 訊連接及裝置允許通過通訊網路或網路之集合(未圖示)與其他計算系統(未圖示)通訊。共同允許系統間通訊之連接及裝置之實例可包括網路介面卡、天線、功率放大器、射頻(radio frequency;RF)電路、收發器,及其他通訊電路。連接及裝置可在通訊媒體上傳遞以與其他計算系統或系統之網路交換通訊,該通訊媒體諸如金屬、玻璃、空氣,或任何其他適當通訊媒體。上述媒體、連接及裝置為眾所熟知的且不必在本文中詳細論述。
計算系統900與任何其他計算系統(未圖示)之間 的通訊可在一或更多個通信網路上且根據各種通信協定、協定之組合,或上述協定之變體發生。計算系統900可在其上與其他計算系統交換資訊之通信網路之實例包括內部網路、網際網路、區域網路、廣域網路、無線網路、有線網路,或 上述網路之任何組合或變體。上述通信網路及協定為眾所熟知的且不必在本文中詳細論述。
使用者介面系統909可包括鍵盤、滑鼠、語音輸入 裝置、用於自使用者接收觸控手勢之觸控輸入裝置、用於偵測使用者之非觸控手勢及其他運動之運動輸入裝置,以及能夠自使用者接收使用者輸入之其他類似輸入裝置及相關聯處理元件。諸如顯示器、揚聲器、觸覺裝置,及其他類型之輸出裝置的輸出裝置亦可被包括於使用者介面系統909中。在某些情況下,輸入輸出裝置可經組合於單個裝置中,該單個裝置諸如能夠顯示影像且接收觸控手勢之顯示器。上述使用者輸入及輸出裝置為本技術中眾所熟知的且不必在本文中詳細論述。
使用者介面系統909亦可包括相關聯使用者介面軟 體,該使用者介面軟體在上文論述之各種使用者輸入及輸出裝置的支援下藉由處理系統901可執行。單獨地或結合每一其他的硬體及軟體元件,使用者介面軟體及使用者介面裝置可支援圖形使用者介面、自然使用者介面,或任何其他類型之使用者介面。例如,使用者介面500可經由使用者介面系統909呈現。此外,對於使用者介面500進行之使用者輸入可經由使用者介面系統909輸入。使用者介面610及使用者介面710亦可藉由使用者介面系統909呈現。
附圖中提供之功能方塊圖、運行情況及序列,及流 程圖表示用於執行本案之新穎態樣之示例性系統、環境,及方法。然而為了簡化說明之目的,本文中包括之方法可為功 能圖、運行情況或序列,或流程圖之形式,且本文中包括之方法可經描述為一系列動作,應將理解及瞭解,該等方法不限於該動作次序,因為據此一些動作可以與來自本文圖示且描述之動作之其他動作不同之次序及/或並行地發生。例如,熟習該項技術者將理解且瞭解,方法可諸如在狀態圖中替代地表示為一系列相關狀態或事件。此外,對於新穎實施,可能並不需要方法中所示之所有動作。
所包括之描述及附圖圖示特定實施以教示熟習該項技術者如何進行且使用最佳選擇。為了教示發明原理的目的,已簡化或省略一些習知態樣。熟習該項技術者將瞭解屬於本發明範疇之該等實施之變化。熟習該項技術者亦將瞭解,如上所述之特徵可以多種方式組合以形成多個實施。因此,本發明並不限於如上所述之特定實施,且僅由申請專利範圍及該申請專利範圍之同等物限制。
100A‧‧‧運行情況
101‧‧‧應用程式設計環境
103‧‧‧試算表
105‧‧‧使用者
107‧‧‧應用程式
200‧‧‧強化的設計過程

Claims (20)

  1. 一種具有儲存於其上以便促進應用程式開發之程式指令之電腦可讀儲存媒體,當該等程式指令藉由一計算系統執行時,導引該計算系統執行至少以下步驟:檢查一試算表以識別該試算表之複數個試算表組件,使用該複數個試算表組件以根據設計產生可能包含於一軟體應用程式中之複數個應用程式組件;接收包含複數個設計指令之使用者輸入,以於該軟體應用程式中包括該複數個應用程式組件中之至少一些;以及產生該軟體應用程式之至少一實例,該軟體應用程式包含該複數個應用程式組件。
  2. 如請求項1所述之電腦可讀儲存媒體,其中為了接收該使用者輸入,該等程式指令導引該計算系統經由一使用者介面接收該使用者輸入至一應用程式設計環境,其中該使用者介面包含該複數個應用程式組件之一組件視圖,及在其上經由該使用者輸入設計該軟體應用程式之一設計畫布。
  3. 如請求項2所述之電腦可讀儲存媒體,其中該複數個設計指令中之每一者包含一單個指令,以包括該軟體應用程式中之該複數個應用程式組件之一個應用程式組件。
  4. 如請求項3所述之電腦可讀儲存媒體,其中該單個指令包含一觸控手勢,該觸控手勢將該一個應用程式組件從該組件視圖移動至該設計畫布,以包括該一個應用程式組件。
  5. 如請求項4所述之電腦可讀儲存媒體,其中該使用者介面進一步包含一性質視圖,在該性質視圖中呈現該設計畫布中之該複數個應用程式組件之任一者的性質。
  6. 如請求項2所述之電腦可讀儲存媒體,其中該使用者介面包含一環境控制,經由該環境控制從複數個不同操作環境選擇該軟體應用程式之一操作環境,其中該等程式指令導引該計算系統經由與該操作環境相關聯之一線上應用程式商店公開該軟體應用程式,且產生用於在該操作環境中安裝及執行之該軟體應用程式,其中該複數個操作環境包含Android及iOS。
  7. 如請求項1所述之電腦可讀儲存媒體,其中檢查該試算表以識別該複數個試算表組件,該等程式指令導引該計算系統檢查該試算表中之複數個欄位之每一欄位,以決定是否該欄位使該欄位自身關聯於複數個設計特性中之至少一個特性,該複數個設計特性包含一公式、一控制,及儲存於該欄位中之資訊,該資訊表示對於儲存在該複數個欄位之其他欄位中之其他資訊的一分類。
  8. 一種用於開發應用程式之方法,該方法包含以下步驟:檢查一試算表以識別該試算表之複數個試算表組件,使用該複數個試算表組件以根據設計產生可能包含於一軟體應用程式中之複數個應用程式組件;接收包含複數個設計指令之使用者輸入,以於該軟體應用程式中包括該複數個應用程式組件中之至少一些;以及產生該軟體應用程式之至少一實例,該軟體應用程式包含該複數個應用程式組件。
  9. 如請求項8所述之方法,其中接收之步驟包含以下步驟:經由一使用者介面接收至一應用程式設計環境之該使用者輸入,其中該使用者介面包含該複數個應用程式組件之一組件視圖及一設計畫布,在該設計畫布上經由該使用者輸入設計該軟體應用程式。
  10. 如請求項9所述之方法,其中該複數個設計指令中之每一者包含一單個指令,以包括該軟體應用程式中之該複數個應用程式組件之一個應用程式組件。
  11. 如請求項10所述之方法,其中該單個指令包含一觸控手勢,該觸控手勢將該一個應用程式組件從該組件視圖移動至該設計畫布,以包括該一個應用程式組件。
  12. 如請求項11所述之方法,其中該使用者介面進一步包含一性質視圖,在該性質視圖中呈現該設計畫布中之該複數個應用程式組件之任一者的性質。
  13. 如請求項9所述之方法,其中該使用者介面包含一環境控制,經由該環境控制從複數個不同操作環境選擇該軟體應用程式之一操作環境,其中該方法進一步包含以下步驟:經由與該操作環境相關聯之一線上應用程式商店公開該軟體應用程式,且產生用於在該操作環境中安裝及執行之該軟體應用程式。
  14. 如請求項8所述之方法,其中檢查該試算表以識別該複數個試算表組件之步驟包含以下步驟:檢查該試算表中之複數個欄位之每一欄位,以決定是否該欄位使該欄位自身關聯於複數個設計特性中之至少一個特性,該複數個設計特性包含一公式、一控制,及儲存於該欄位中之資訊,該資訊表示對於儲存在該複數個欄位之其他欄位中之其他資訊的一分類。
  15. 一種設備,該設備包含:一或更多個電腦可讀儲存媒體;以及程式指令,儲存於該一或多個電腦可讀儲存媒體上且包含自一試算表產生之一應用程式之一實例,其中該應用程式 之該實例藉由一處理系統執行時,導引該處理系統進行至少以下操作:顯現一使用者介面至包含複數個應用程式組件之該應用程式,該複數個應用程式組件鏈接至該試算表中之複數個試算表組件,經由該複數個試算表組件與支援該試算表之一試算表服務通訊;且回應於根據該複數個應用程式組件之至少一個應用程式組件接收之資訊,傳遞該資訊至該複數個試算表組件之一相應試算表組件以便藉由該試算表服務處理。
  16. 如請求項15所述之設備,該設備進一步包含被設置以執行該應用程式之該處理系統,且其中該等程式指令進一步包含一軟體設計應用程式,當該軟體設計應用程式藉由該處理系統執行時,導引該處理系統進行至少以下操作:檢查該試算表以識別該試算表之該複數個試算表組件,同時根據設計使用該複數個試算表組件以產生可能包含於該應用程式中之複數個應用程式組件;接收包含複數個設計指令之使用者輸入,以於該應用程式中包括該複數個應用程式組件中之至少一些;以及產生該應用程式之至少一實例,該應用程式包含該複數個應用程式組件。
  17. 如請求項16所述之設備,其中該處理系統經由一使用者介面接收該使用者輸入至該應用程式,其中至該應用程式之 該使用者介面包含該複數個應用程式組件之一組件視圖及一設計畫布,在該設計畫布上經由該使用者輸入設計該應用程式。
  18. 如請求項17所述之設備,其中該複數個設計指令中之至少一個設計指令包含一單個指令,以在該應用程式中包括該一個應用程式組件。
  19. 如請求項18所述之設備,其中該單個指令包含一手勢,用於將該應用程式組件自該組件視圖移動至該設計畫布。
  20. 如請求項17所述之設備,其中該軟體設計應用程式之該使用者介面包含一環境控制,經由該環境控制從複數個不同操作環境選擇該應用程式之一操作環境,其中該軟體設計應用程式進一步導引該處理系統經由一線上應用程式商店公開該應用程式,該線上應用程式商店與為該應用程式選擇之該操作環境相關聯,其中該複數個操作環境包含一Android操作環境、一iOS操作環境,及一Windows操作環境。
TW103128493A 2013-10-16 2014-08-19 對於強化的應用程式開發將試算表用做基礎 TW201525859A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/055,391 US9298454B2 (en) 2013-10-16 2013-10-16 Using spreadsheets as a basis for enhanced application development

Publications (1)

Publication Number Publication Date
TW201525859A true TW201525859A (zh) 2015-07-01

Family

ID=52810763

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103128493A TW201525859A (zh) 2013-10-16 2014-08-19 對於強化的應用程式開發將試算表用做基礎

Country Status (3)

Country Link
US (1) US9298454B2 (zh)
AR (1) AR099277A1 (zh)
TW (1) TW201525859A (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9696967B2 (en) * 2015-11-09 2017-07-04 Microsoft Technology Licensing, Llc Generation of an application from data
US10216494B2 (en) * 2016-12-03 2019-02-26 Thomas STACHURA Spreadsheet-based software application development
US11726753B2 (en) * 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
AU2018208489A1 (en) * 2017-01-11 2019-08-29 Mz Ip Holdings, Llc System and method for managing dynamic design data for a virtual environment
KR101966177B1 (ko) * 2017-09-19 2019-04-05 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템
US10705805B1 (en) 2017-12-12 2020-07-07 Amazon Technologies, Inc. Application authoring using web-of-sheets data model
KR102032084B1 (ko) * 2019-01-22 2019-10-14 이강돈 다중 다차원 속성을 가진 스프레드 시트 처리 방법 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523395B1 (en) 2003-05-30 2009-04-21 Oracle International Corporation Web application generator for spreadsheet calculators
US20050268215A1 (en) 2004-06-01 2005-12-01 Microsoft Corporation Method and apparatus for viewing and interacting with a spreadsheet from within a web browser
US20070185935A1 (en) 2006-02-07 2007-08-09 Olivieri Ricardo N Systems, methods, and media for processing a spreadsheet for storage in a database
US8082489B2 (en) 2006-04-20 2011-12-20 Oracle International Corporation Using a spreadsheet engine as a server-side calculation model
US7840889B2 (en) 2007-04-02 2010-11-23 Business Objects Software Ltd. Apparatus and method for generating spreadsheet function source code for use in a source code application
US8572548B2 (en) * 2008-10-08 2013-10-29 Accenture Global Services Gmbh Integrated design application
US8640022B2 (en) 2011-12-08 2014-01-28 Microsoft Corporation Integration of spreadsheet objects on web page

Also Published As

Publication number Publication date
AR099277A1 (es) 2016-07-13
US9298454B2 (en) 2016-03-29
US20150106782A1 (en) 2015-04-16

Similar Documents

Publication Publication Date Title
TW201525859A (zh) 對於強化的應用程式開發將試算表用做基礎
US10592211B2 (en) Generation of application behaviors
US8924842B2 (en) Method and system to build interactive documents
JP6541647B2 (ja) ランタイムカスタマイゼーションインフラストラクチャ
US20120041990A1 (en) System and Method for Generating Dashboard Display in Software Applications
US20140047409A1 (en) Enterprise application development tool
US20150235318A1 (en) Trading systems and methods
CN107430520B (zh) 用于应用插件的增强的预览技术
AU2019205973A1 (en) Responsive resize
CA2932897A1 (en) Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same
US20160173541A1 (en) Presentation of content from within spreadsheet application
Whiting et al. Creating an iPhone application for collecting continuous ABC data
US20140075411A1 (en) Meta-Languages For Creating Integrated Business Applications
Snell et al. Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2
Chin et al. The Definitive Guide to Modern Java Clients with JavaFX 17
EP3819760A1 (en) Methods and apparatus for generating a platform-agnostic mobile application configuration data structure with a dynamic quiz
Lee et al. Beginning Windows Phone App Development
US11663199B1 (en) Application development based on stored data
Fatima et al. Extending interaction flow modeling language (ifml) for android user interface components
Martin et al. Visual Studio 2013 Cookbook
US9189761B1 (en) Action flow client framework
Giametta Pro Flex on Spring
KR20220019488A (ko) 어플리케이션 개발을 위한 멀티채널통합플랫폼 저작장치 및 저작방법
Westfall et al. Getting Up and Running with R
Wang Understanding iOS Programming