CN107229459A - 结合程序包创设新行动应用程序的方法、行动装置及系统 - Google Patents
结合程序包创设新行动应用程序的方法、行动装置及系统 Download PDFInfo
- Publication number
- CN107229459A CN107229459A CN201610550527.0A CN201610550527A CN107229459A CN 107229459 A CN107229459 A CN 107229459A CN 201610550527 A CN201610550527 A CN 201610550527A CN 107229459 A CN107229459 A CN 107229459A
- Authority
- CN
- China
- Prior art keywords
- program
- running gear
- user interface
- bag
- application program
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000009471 action Effects 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 22
- 238000011161 development Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 9
- 230000010354 integration Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 5
- 238000012800 visualization Methods 0.000 claims description 5
- 238000009434 installation Methods 0.000 claims description 4
- 241001062009 Indigofera Species 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 230000004048 modification Effects 0.000 abstract description 7
- 238000012986 modification Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 239000004744 fabric Substances 0.000 description 10
- 239000004575 stone Substances 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000270272 Coluber Species 0.000 description 1
- 241000270281 Coluber constrictor Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- OQZCSNDVOWYALR-UHFFFAOYSA-N flurochloridone Chemical compound FC(F)(F)C1=CC=CC(N2C(C(Cl)C(CCl)C2)=O)=C1 OQZCSNDVOWYALR-UHFFFAOYSA-N 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000366 juvenile effect Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000009790 rate-determining step (RDS) Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种结合程序包创设新行动应用程序的方法、行动装置及系统。该系统包括多个行动装置与一台远程服务器。通过利用行动装置上的编修应用程序,程序包可还原成其原始码、对象与用户接口,进行拖拉式编辑以及小幅度程序代码修改,进而简化创设新行动应用程序的步骤。除了有利于编程学习者可以从更小的年龄开始学习,更可形成在线商店,让有创意的程序包进行分享或贩卖营利。
Description
技术领域
本发明涉及创设新行动应用程序领域,特别是涉及一种结合程序包创设新行动应用程序的方法、行动装置及系统。
背景技术
一般来说,软件工程师开发一套应用程序,鲜少会从零开始。基于先前类似的项目或网络上、教科书里揭露的程序代码及模块,软件工程师可以很快地利用现有资源拼凑,进行一定程度的修改,最终完成开发作业。类似地,如果编程作业中遇到需要使用接口的情况,配合的美编人员也会参考合适的前案,设计出符合应用程序运作的接口。某些整合型开发环境(Integrated Development Environment,IDE)还会为应用程序开发者,针对不同的应用面,提供不同的范本(Template);模板中兼具实用的程序代码及无版权的接口设计,这让应用程序开发作业更方便。
前述的整合型开发环境,除了适合有经验软件工程师,同样也适合对某一编程软件有一定程度了解的学习者,两者的差异只在处理项目的大小以及选定初始模板的差异。然而,在合法的情形下,基于保护著作权及商业利益,现有运作的应用程序无法藉由整合型开发环境还原原始码。对于某个应用程序有改良需求的用户,不是必须请求原作者协助,就是自己或另寻他人重新开发。无论是工程师或是学习者,因为前述的现实情况,要开发一定水平的应用程序,必须下的苦功与时间是省不了的。由于编程的过程不算短又苦闷,很多踏入程序开发从业人员或学生,会渐渐地对这种作业环境感到厌倦,减少对程序开发的热情。目前这种状况无法得到缓解,反而随着各种不同硬件的开发与商业模式的变化,让程序开发流程更为复杂。
程序开发具有不小的挑战,然而面对物联网的兴盛与即将到来的机器人制造时代,世人不但积极面对,更将相关的编程教育向下延伸;期望小朋友能在小学阶段就能培养对编程的兴趣,甚至在学龄时期就能灵活应用程序语言,创造出一些可取的应用,以培养对未来挑战的基本能力。然而,就前面陈述的程序开发现况,传统的环境很快就会抹煞小朋友对编程的兴趣。因此,目前坊间的编程教育课程,还是停留在使用图形接口程序软件,比如scratch(一款面向少年的简易编程工具)。可惜的是,这种学习媒介是无法培养实用的编程能力,仅能找出有编程兴趣与潜力的学生。对于作为普及教育来说还是不适用。
目前应用程序的开发主要在于行动应用程序。随着智能型手机与平板计算机的普及,行动应用程序在这些电子产品上能够发挥的空间非常大。从简单的数据传输与展现,到有趣的游戏产品,进而到复杂万端的行动支付系统,行动应用程序的优点表露无遗。最特别的是,随着物联网设备的大量问世,使用行动装置藉由行动应用程控生活周遭的电子产品已经成为了新的生活态样。虽然行动应用程序的开发也不容易,但在其产品未来有巨大潜力的条件下,人们还是会找寻各种方式,让编程更简化,让学习者可以从更小的年龄开始。因此,一种新型态的创设行动应用程序的方法、设备及系统,亟待发明。
发明内容
鉴于此,有必要针对传统的编程环境容易抹煞小朋友对编程的兴趣的问题,提供一种让编程更简化、学习者可以从更小的年龄开始的结合程序包创设新行动应用程序的方法、行动装置及系统。
为了解决上述的问题,本发明提供一种结合程序包创设新行动应用程序的方法,包括步骤:
A、提供多个各具特定内容的程序包;
B、将所述多个程序包还原为各自的程序代码、对象及用户接口,并处于可同时编辑状态;
C、选定至少一个还原的用户接口为活跃状态;
D、编修链接该程序代码、对象及用户接口,以便原程序包在编译后可执行全部或部分功能,或新编修的功能,可通过活跃状态的用户接口而展现;及
E、编译编修链接后的程序代码、对象及活跃状态的用户接口为行动应用程序。
在其中一个实施例中,所述方法应用于行动装置上,且步骤B到步骤E通过可视化整合开发环境而执行。
本发明还提供一个结合程序包创设新行动应用程序的行动装置,所述行动装置至少包括记忆单元、触控屏幕及无线讯号收发单元,并安装有编修应用程序,及储存多个各具特定内容的程序包于所述记忆单元中,其特征在于:在所述行动装置上执行所述编修应用程序时,所述触控屏幕上会呈现可视化整合开发环境,用以同时进行编修作业、将所述多个程序包还原为各自的程序代码、对象及用户接口、供用户选定至少一个还原的用户接口为活跃状态;编修链接所述程序代码、对象及用户接口,以便原程序包在编译后可执行全部或部分功能,或新编修的功能,可通过活跃状态的用户接口而展现,及编译编修链接后的程序代码、对象及活跃状态的用户接口为行动应用程序。
在其中一个实施例中,所述行动应用程序用于控制所述行动装置的运作、通过行动装置来控制外部硬件运作,或与其它行动装置中相同的行动应用程序协同运作。
在其中一个实施例中,所述行动装置为平板计算机或智能型手机。
在其中一个实施例中,所述无线讯号收发单元为Wi-Fi模块、蓝牙模块或红外线模块。
在其中一个实施例中,所述程序包仅开放部分程序代码、对象或用户接口供编修作业,其余部分无法进行编修。
本发明还提供一种结合程序包创设新行动应用程序的系统。该系统包括:
多个如上所述的行动装置;及
远程服务器,所述远程服务器与行动装置通过网络连接,用以储存多个程序包、下载任一行动装置中不具有的程序包至所述行动装置的记忆单元中,及下载所述编修应用程序到其它未安装编修应用程序的外部行动装置上,以便所述外部行动装置在安装编修应用程序后成为系统中新的行动装置。
在其中一个实施例中,两个行动装置间可通过各自的无线讯号收发单元直接连接,或通过各自的无线讯号收发单元间接经由网络连接。
在其中一个实施例中,所述网络为以太网络或行动网络。
在其中一个实施例中,所述远程服务器可进一步将所述程序包编译为不同操作系统与平台的行动应用程序,提供下载的服务。
在其中一个实施例中,所述连接的行动装置形成丛集,其中至少一个行动装置通过其编修应用程序设定为服务器端运作模式,用以下载其它非服务器状态行动装置中不具有的特定行动应用程序的程序包至所述非服务器状态行动装置的记忆单元中,或接受其它非服务器状态行动装置中已安装的行动应用程序操作部分硬件功能。
在其中一个实施例中,所述编修应用程序可随所处的行动装置状态,切换为客户端运作模式或服务器端运作模式。
本发明的有益效果至少包括:
上述结合程序包创设新行动应用程序的方法、行动装置及系统,利用程序包还原的原始码、对象与用户接口,进行拖拉式编辑以及小幅度程序代码修改,简化创设新行动应用程序的步骤。除了有利于编程学习者可以从更小的年龄开始学习,更可形成在线商店,让有创意的程序包进行分享或贩卖营利。
附图说明
图1为一个实施例中的结合程序包创设新行动应用程序的方法的流程示意图;
图2为一个实施例中的结合程序包创设新行动应用程序的行动装置的基本架构示意图;
图3为一个实施例中的结合程序包创设新行动应用程序的系统的结构示意图;
图4为一个实施例中的触控屏幕上的可视化整合型接口的显示示意图;
图5为另一个实施例中的触控屏幕上的可视化整合型接口的显示示意图;
图6为又一个实施例中的触控屏幕上的可视化整合型接口的显示示意图。
具体实施方式
本发明将参照下述的实施方式而更具体地描述。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明结合程序包创设新行动应用程序的方法、行动装置及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1是一个实施例中的结合程序包创设新行动应用程序的方法的流程图。该方法在行动装置上具体实施。适合于本方法的行动装置的硬件架构上必须至少具备以下的装置(或均等的装置):触控屏幕110、中央处理单元120、记忆单元130、内存140及无线讯号收发单元150(请参见图2)。触控屏幕110提供讯息给用户,并允许用户可以输入必要指令或信息,以便与行动装置互动。记忆单元130指的是传统用于长时储存数据的装置,比如硬盘、固态硬盘、闪存等,所有程序包与之后提及的行动应用程序,在发布到行动装置时,都是先储存于记忆单元130中。相对于记忆单元130,内存140是一般所谓的随机存取内存。当程序包要进行编修或链接,以及行动应用程序执行时,都会先暂存于内存中,等待中央处理单元120进行进一步处理。无线讯号收发单元150是行动装置用来与其它行动装置互动、收发数据与档案的硬件。通过不同的传输规范,无线讯号收发单元150可以是Wi-Fi模块、蓝牙模块或红外线模块。中央处理单元120则与前述触控屏幕110、记忆单元130、内存140和无线讯号收发单元150连接,控制这些装置正常运作。行动装置可以是特定的硬件,用来满足本发明所使用的相关软件所需。实作上,行动装置可以使用市售的平板计算机或智能型手机。
为了要达成本发明的目的,该行动装置需安装有一个编修应用程序,并储存多个各具特定内容的程序包在记忆单元130中。在一个实施例中,第一个步骤是:S01,提供多个各具特定内容的程序包。这里所说的程序包,指的是本身在经过编译后,可以成为独立的执行档的档案,在特定的操作系统与平台上执行。然而在未经编译前,本身包含了编译后可执行的逻辑(程序代码)、对象与用户接口。以面向对象程序语言LIVECODE为例,程序包就是堆栈文件(STACK),可通过LIVECODE的整合型开发环境做进一步的编修。程序包的提供方式,可以由行动装置的用户,透过编修应用程序创设于该行动装置,或者是由已具备该程序包的行动装置,发布给未具有该程序包的行动装置。更方便的方式是,程序包可以存在远程服务器上,经行动装置提出需求后下载给行动装置。编修应用程序的角色不仅是提供编修与链接功能的整合型开发环境,它也具有当行动应用程序在其它两个行动装置间同时运作时,作为信息传递的作用。详细的运作方式会在其它的实施例中说明。
依据本发明所提出的方法,下一个步骤是:S02,将多个程序包还原为各自的程序代码、对象及用户接口,并处于可同时编辑状态。对每一个行动装置来说,这个步骤就是执行编修应用程序,以呈现可视化整合开发环境而执行(请注意,直到本发明的最后一个步骤为止,该可视化整合开发环境都是被用来控制步骤进行的接口)。在行动装置的触控屏幕110上,编修应用程序以一个图标(icon)显现,点击后即将程序代码内容、对象、接口图形以及其它需要的资源(如文字、函式库等)暂存至内存140中,并操作中央处理单元120来控制行动装置。编修应用程序在执行后会根据使用者的要求,选择存放在记忆单元130中的程序包进行编修。接受编修的每一个程序包会在该整合型接口中,同时还原成各自的程序代码、对象及用户接口,并供用户进行编修。
图4至图6示出了一个实施例中的编修程序代码,编修应用程序选择了一个可以在编译后执行剪刀石头布游戏的第一程序包,在触控屏幕110上的整合型接口同时显示第一程序包的第一用户接口与对象(左方)与所有的程序代码(右方)。其中第一程序代码执行背景与屏幕显示(第一用户接口),第二程序代码控制剪刀、石头与布的对象显示方式,而第三程序代码是用来判断比赛两方每一局谁赢或赢得的次数(分数)。当左方背景被点击时,右方第一程序代码便呈现可编辑状态;或当第一程序代码中的字母或数字被点击时,背景也会以特殊颜色凸显,方便用户编修程序代码。同样的对应关系也出现在第二程序代码与三个对象上,但由于有三个对象,每一对象被点选时,仅突显相关的程序代码,以利于修改对象动作或更换对象。第三程序代码因为没有对应的用户接口或对象,可以直接进行编辑。同时,用户也可通过编修应用程序选择另外一个可以在编译后执行计分板游戏的第二程序包,进行编修。如图5和图6所示,第二程序包有两个用户接口。第四程序代码控制第二用户接口与其上对象(图5左方)的操作,第五程序代码控制第三用户接口与其上对象(图6左方)的操作,第六程序代码处理比赛者数据以及各局得分。第二程序包编修时,当点击第二用户接口时,第四程序代码呈现可编辑状态;反之若第四程序代码中的字母或数字被点击时,第二用户接口会以特殊颜色突显。第五程序代码与第三用户接口的关系同第四程序代码与第二用户接口相似。第六程序代码是运作逻辑,因此可以单独编修。要注意的是,第二用户接口与第三用户接口可以在第二程序包编辑时切换。若要更换用户接口,可对编修应用程序下达切换指令,比如以手指由上到下在触控屏幕110上滑动。
第二程序包与第一程序包同时在编修应用程控下进行编修,只有进行编修的程序包的程序代码、对象或用户接口,才会出现在整合型接口上。若要更换编修的程序包,仅需对编修应用程序下达切换指令,比如以手指由左向右横过触控屏幕110滑动。要注意的是,以上仅是本发明整合型接口的一种态样。程序代码与用户接口间也可以分别在编辑时呈现,而只在整合型接口上显现其一。甚至只显现用户接口与其上的对象,当该用户接口或对象被点选时,才在用户接口或对象旁呈现相关的程序代码,进行编修。此外,关于用户接口或对象的属性,也可以在该用户接口或对象被选取时进行进一步更改,比如图形对象外部加框等。这些细部的更改是在本发明所揭露的编修应用程序中进行编修,本发明并未限制其编修接口形式。
此时,很重要的步骤是:S03,选定至少一个还原的用户接口为活跃状态。以上面的例子继续说明。本发明的基本作用就是将两个以上的程序包,由编修应用程序打开,还原成各自所包含的程序代码、对象与用户接口,并同时编修该些程序代码、对象及用户接口。本发明所设计的编修应用程序和一般的整合型开发环境最大的不同点有以下几个。第一、编修应用程序是仅用在无实体键盘的行动装置上,创设新的程序包、融合现有程序包成新的程序包,并编译程序包成可执行的行动应用程序,而传统的整合型开发环境适合用在有键盘鼠标等输入设备的个人计算机上。由于行动装置的触控屏幕110不方便针对大范围的程序代码进行编辑,该行动应用程序编修程序包的方式主要以对象拖曳点击方式,叫出相对应的程序代码进行小幅度修改。第二、传统软件工程师使用整合型开发环境的做法是开一个主要项目档,将参考的程序代码内容由其它项目文件中拷贝至主要项目文件中进行修改。而编修应用程序在执行时,其运作逻辑在同时打开各程序包时,将各程序包的内容通通放进一个新的程序包;编修应用程序会记下所有用户接口及其对象,与相对的程序代码中的变量与逻辑关系。用户要做的事情除了编修程序代码,以增加或减少原程序包所定义的功能外,更重要的是要重新定义各程序包间运算逻辑、对象与接口的连动关系,也就是某一程序包中程序代码运算的结果,可以由另一个程序包中的对象来表示或呈现在其用户接口上。第三,用户要在所有的用户接口中,选定至少一个用户接口为活跃状态,这点是传统整合型开发环境没有的做法。关于第二点与第三点,在此用前面提过的第一程序包与第二程序包来说明。
第一程序包中设计的剪刀石头布游戏,在编译后可安装在两台行动装置上。这两台行动装置通过各自的无线讯号收发单元150连接后,两套剪刀石头布游戏行动应用程序联机;玩游戏的人可以甩动其手持的行动装置,两台行动装置上运作的剪刀石头布游戏行动应用程序便会随机发出剪刀、石头或布的讯息给对方,经比较后看哪一游戏方获胜,每一台行动装置的触控屏幕110上都会出现自己与对方该局出的东西影像。第二程序包中设计的计分板游戏,是在单一行动装置上分别输入两个比赛者(不论比赛项目)的各局比赛分数并储存在连接的一个数据文件中。现在要做的工作是设计一个新的行动应用程序,可以进行联机剪刀石头布游戏,但不必显示结果影像,而以计分板上每局的分数(1为获胜,0为失败,两人同为0表示平手)来呈现在各自的触控屏幕110上。编修应用程序的运作方式是打开第一程序包与第二程序包,并分别还原该些程序包为各自的程序代码、对象与用户接口,而用户可以通过触控屏幕110、同时编修链接这些还原的程序代码、修改程序代码、对象与用户接口,及╱或加入新的程序代码。比如,第三程序代码的输出结果不再传给第二程序代码,而是传给第六程序代码当作个局比赛结果的输入;原先第六程序代码的输出可以选择地给第四程序代码或第五程序代码,作为其对应用户接口的显示,此时为求简洁起便,只定义第五程序代码作为接收第六程序代码的输出。也就是说,只有第三用户接口会在两个程序包融合编译后的行动应用程序中出现。而这个第三用户接口便是处于所谓的活跃状态。当然,除了运算逻辑链接上间接定义,还是要告知编修应用程序第三用户接口被选定为活跃状态。告知的方式有很多种,比如长按该用户接口5秒;误选的用户接口也可以取消,方式也有很多种,比如再次长按该用户接口5秒。以上编修应用程序所作的动作,也就是图1步骤S04:编修链接该程序代码、对象及用户接口,以便原程序包在编译后可执行全部或部分功能,或新编修的功能,可通过活跃状态的用户接口而展现。
本发明所提出创设新行动应用程序的方法的最后一个步骤,即是:S05,编译编修链接后的程序代码、对象及活跃状态的用户接口为行动应用程序。编修应用程序执行前述的步骤,即可产生符合修改后需求并用于行动装置中的行动应用程序(此处的行动应用程序仅能用于控制行动装置的运作,为了与后续其它功能或特色行动应用程序区别,称为第一行动应用程序)。
要注意的是,实作上来说,编修应用程序也可以将各程序包中未用到的程序代码、用户接口及对象,一起包入新融合的程序包里。这样的作法是除了产生新的行动应用程序外,编修应用程序可以另外将新融合的程序包独立储存,让后续拥有这个档案的使用者,可以还原该档案,参考前人编修的方式,另外修改它成为具有想要的新功能的更新的程序包。
本发明的另一个实施例是一种应用前述行动装置结合程序包创设新行动应用程序的系统。该系统利用图3来说明。在图3的实施例中,一种结合程序包创设新行动应用程序的系统包括远程服务器200、第一行动装置101、第二行动装置102,及第三行动装置103。要注意的是,在该系统中行动装置的数量不限于3个,以图3中的3个行动装置来说明(第四行动装置104目前尚未加入系统中),仅是作为示例之用。实际上,对该系统来说,行动装置的数量至少需要有一个,且并无上限的限制。
前述的4个行动装置,形式上可以不必一致,可以为智能型手机、平板计算机,或特制符合前述要求的硬件。第一行动装置101、第二行动装置102,及第三行动装置103内任意两个行动装置间通过各自的无线讯号收发单元150直接连接,或者通过各自的无线讯号收发单元150,间接经由网络连接。图3所示的实施例即第一行动装置101、第二行动装置102,与第三行动装置103间通过各自的无线讯号收发单元150直接连接,第一行动装置101与第三行动装置103间可间接经由网络连接。这里所说的网络,可以是以太网络或行动网络。对于以太网络来说,行动装置需要通过无线网络基地台桥接。
如前所述,编修应用程序的另外一个特点是通过进行编修作业的行动装置的无线讯号收发单元150,将产生的第一行动应用程序发布到相连接的其它行动装置上。举例而言,如果第一行动应用程序是在第二行动装置102上产生的,那它可以在如图3所示已联机的情况下(虚线箭号表示),发布到第一行动装置101与第三行动装置103上,根据使用者的意愿决定要不要安装。这种发布的编程技巧是很多软件工程师都能应用,本发明不限定研发编修应用程序时是使用哪一种技术。
要注意的是,对于某些程序包的开发者来说,他们可能不希望某些特殊功能被修改,或者希望后续编修的用户只要专注某些功能的调整与其程序代码链接,程序包可以仅开放部分程序代码、对象或用户接口供编修作业,其余部分无法进行编修。比较常用的作法是呼叫程序包中的函式库,或者直接在程序代码上注明不要修改以及可修改的部分。这样的做法可以简化编修过程。
远程服务器200是一种辅助设备,该远程服务器200与前述的那些行动装置中的全部或部份透过网络连接(在图3中是与第一行动装置101与第三行动装置103连接),用以储存多个程序包、下载任一行动装置中不具有的程序包至该行动装置的记忆单元130中,及下载编修应用程序到其它未安装编修应用程序的系统外部行动装置上,以便该外部行动装置在安装编修应用程序后成为系统中新的行动装置。在图3中,第四行动装置104原本不属于整套系统中的单元,通过上网链接远程服务器200并下载安装编修应用程序,第四行动装置104也可以针对现有的程序包,进行编修、链接与发布的工作。此外,远程服务器200还有一个特点:它可以将这些程序包编译为不同操作系统与平台的行动应用程序,提供下载的服务。
由以上对远程服务器200的说明可以看出,架设远程服务器200可以形成一种在线商店。这种在线商店的型态跟一般用于下载行动应用程序的在线商店不一样,后者只贩卖并下载可执行的行动应用程序。而对本发明所提供的远程服务器200而言,它除了可以下载可执行的行动应用程序外,主要是用于下载程序包,供行动装置用户进行编修链接,以创造新的应用,付费与否端视原程序包创作者的想法。由于有了远程服务器200,整套系统很适合于编程教学用途,尤其是针对幼小的学童与新手。通过简单的拖曳动作及逻辑链接,用户可以很快对该种程序语言的用法上手,在实作中获得乐趣,并利用其成果解决生活中的某些问题。
依照本发明的精神,在另一个实施例中,编译后的行动应用程序,除了可以改变本身的控制方式外,也可以通过行动装置,操纵外部硬件运作。做法是程序包在设计时,就有能控制无线讯号收发单元150的程序代码,并能通过操作该外部硬件所开放的控制应用程序编程接口(Application Program Interface,API),连接行动装置与外部硬件,达成程序包经编译成第二行动应用程序(有别于只能运作在行动装置中的第一行动应用程序)后,第二行动应用程序可控制外部硬件的运作。举例而言,外部硬件可以是一台遥控飞机,现在有很多行动应用软件可以安装在智能型手机上来操纵遥控飞机。设计使用的道理是一样。所不同的是,通过本发明所提供的系统运作,用户可以编修链接该用于遥控飞机的第二行动应用程序以及专门用于输出控制指令的第一行动应用程序的程序包,以创作出不同的操作方式或修改操作接口,取代原先用于遥控飞机的第二行动应用程序中的控制接口。此外,如同第一行动应用程序可以彼此连线作业,第二行动应用程序也可与其它行动装置中相同的第二行动应用程序协同运作,操作外部硬件。比如一个家庭中的每个人的手机上的冷气第二行动应用程序都能控制家中的冷气运作。由以上的例子可以看出,本发明所提供的系统,可以让不同领域的专业人员,各自开发其擅长领域的程序包,让用户下载编修。这对于很多硬件开发商来说,是很便利的:他们只要在远程服务器200放入让用户可控制他们产品的第二行动应用程序的程序包供下载,任何控制的方式或接口,都可以通过同时编修专业控制接口的程序包而产生。修改步骤也很简单,只要限定部分程序代码可供编修即可。
在另一个实施例中,连接的行动装置可形成丛集(如图3中的三个行动装置),其中至少一个行动装置通过其编修应用程序设定为服务器端运作模式,用以下载其它非服务器状态行动装置中不具有的特定行动应用程序的程序包至该非服务器状态行动装置的记忆单元中,或接受其它非服务器状态行动装置中已安装的第三行动应用程序(第三行动应用程序代表可用于服务器状态行动装置的行动应用程序)操作部分硬件功能。举例来说,前面实施例所提到的剪刀石头布游戏,如果两个玩家中的一个迟迟没做动作,对方的行动装置没收到相应的讯息,久而久之可能会结束该次比赛。然而,如果通过第三行动装置103当作服务器状态行动装置,并把剪刀石头布游戏由第一行动应用程序转而开发成第三行动应用程序,那么第一行动装置101与第二行动装置102(非服务器状态)的比赛,可以通过第三行动装置103当桥接。如果一方迟迟没作出反应,第三行动装置103中的剪刀石头布游戏第三行动应用程序会持续等待,游戏也不会中断。只是作为服务器状态的第三行动装置103必须保持开启跟不断线,部分硬件功能,如无线讯号收发单元150与中央处理单元120,也必须分享给非服务器状态行动装置使用。当然,第三行动装置103的角色,也可以设定让远程服务器200来执行。服务器状态行动装置并非永远不变,编修应用程序可随所处的行动装置状态,切换为客户端运作模式或服务器端运作模式。换句话说,只要行动装置的拥有者愿意,系统内可以有很多的行动装置是在服务器状态下。要注意的是,第三行动应用程序、第二行动应用程序与第一行动应用程序仅在应用层面上不同,其由程序包的生成方式并无不同。
由以上的说明可以看出本发明还有一个特例:就是当行动装置仅有一个的情况下,它也是可以通过编修应用程序,将已编译的行动应用程序,”自己发布给自己”。这种情况可以发生在具多个不同操作系统或虚拟机的行动装置上。一个行动应用程序的创作人,可以将他的成果发布给该行动装置上的另一个操作系统或虚拟机。这样可以测试该行动应用程序在不同平台上的运作状况,甚至联机操作。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【符号说明】
101第一行动装置;102第二行动装置;103第三行动装置;104第四行动装置;110触控屏幕;120中央处理单元;130记忆单元;140内存;150无线讯号收发单元;200远程服务器。
Claims (13)
1.一种结合程序包创设新行动应用程序的方法,其特征在于,包括步骤:
A、提供多个各具特定内容的程序包;
B、将所述多个程序包还原为各自的程序代码、对象及用户接口,并处于可同时编辑状态;
C、选定至少一个还原的用户接口为活跃状态;
D、编修链接所述程序代码、对象及用户接口,以便原程序包在编译后可执行全部或部分功能,或新编修的功能,可通过活跃状态的用户接口而展现;及
E、编译编修链接后的程序代码、对象及活跃状态的用户接口为行动应用程序。
2.如权利要求1所述的方法,其特征在于,所述方法应用于行动装置上,且步骤B到步骤E通过可视化整合开发环境而执行。
3.一种结合程序包创设新行动应用程序的行动装置,所述行动装置至少包括记忆单元、触控屏幕及无线讯号收发单元,并安装有编修应用程序,及储存多个各具特定内容的程序包于所述记忆单元中,其特征在于:在所述行动装置上执行所述编修应用程序时,所述触控屏幕上会呈现可视化整合开发环境,用以同时进行编修作业、将所述多个程序包还原为各自的程序代码、对象及用户接口、供用户选定至少一个还原的用户接口为活跃状态;编修链接所述程序代码、对象及用户接口,以便原程序包在编译后可执行全部或部分功能,或新编修的功能,可通过活跃状态的用户接口而展现,及编译编修链接后的程序代码、对象及活跃状态的用户接口为行动应用程序。
4.如权利要求3所述的行动装置,其特征在于,所述行动应用程序用于控制所述行动装置的运作、通过行动装置来控制外部硬件运作,或与其它行动装置中相同的行动应用程序协同运作。
5.如权利要求3所述的行动装置,其特征在于,所述行动装置为平板计算机或智能型手机。
6.如权利要求3所述的行动装置,其特征在于,所述无线讯号收发单元为Wi-Fi模块、蓝牙模块或红外线模块。
7.如权利要求3所述的行动装置,其特征在于,所述程序包仅开放部分程序代码、对象或用户接口供编修作业,其余部分无法进行编修。
8.一种结合程序包创设新行动应用程序的系统,其特征在于,包括:
多个如权利要求3所述的行动装置;及
远程服务器,所述远程服务器与所述行动装置通过网络连接,用以储存多个程序包、下载任一行动装置中不具有的程序包至所述行动装置的记忆单元中,及下载所述编修应用程序到其它未安装编修应用程序的外部行动装置上,以便所述外部行动装置在安装编修应用程序后成为系统中新的行动装置。
9.如权利要求8所述的系统,其特征在于,两个行动装置间可通过各自的无线讯号收发单元直接连接,或通过各自的无线讯号收发单元间接经由网络连接。
10.如权利要求8所述的系统,其特征在于,所述网络为以太网络或行动网络。
11.如权利要求8所述的系统,其特征在于,所述远程服务器进一步将所述程序包编译为不同操作系统与平台的行动应用程序,提供下载的服务。
12.如权利要求8所述的系统,其特征在于,所述连接的行动装置形成丛集,其中至少一个行动装置通过其编修应用程序设定为服务器端运作模式,用以下载其它非服务器状态行动装置中不具有的特定行动应用程序的程序包至所述非服务器状态行动装置的记忆单元中,或接受其它非服务器状态行动装置中已安装的行动应用程序操作部分硬件功能。
13.如权利要求12所述的系统,其特征在于,所述编修应用程序可随所处的行动装置状态,切换为客户端运作模式或服务器端运作模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105108927A TWI590088B (zh) | 2016-03-23 | 2016-03-23 | 結合程式包創設新行動應用程式的方法、行動裝置及系統 |
TW105108927 | 2016-03-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107229459A true CN107229459A (zh) | 2017-10-03 |
Family
ID=59896462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610550527.0A Pending CN107229459A (zh) | 2016-03-23 | 2016-07-13 | 结合程序包创设新行动应用程序的方法、行动装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10037195B2 (zh) |
CN (1) | CN107229459A (zh) |
TW (1) | TWI590088B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI764031B (zh) * | 2018-08-10 | 2022-05-11 | 日商川崎重工業股份有限公司 | 中介裝置以及中介方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8813028B2 (en) * | 2012-07-19 | 2014-08-19 | Arshad Farooqi | Mobile application creation system |
US10786737B2 (en) * | 2016-11-08 | 2020-09-29 | CodeSpark, Inc. | Level editor with word-free coding system |
US10614133B2 (en) * | 2018-02-08 | 2020-04-07 | Timothy J Pollock | Distributed web browser software architecture |
CN108681476A (zh) * | 2018-05-08 | 2018-10-19 | 广州品唯软件有限公司 | 一种底层接口自动熔断方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446057B1 (en) * | 1997-10-24 | 2002-09-03 | Paul William Vaughan | Method and apparatus for transparent backtracking |
CN101124540A (zh) * | 2005-01-04 | 2008-02-13 | 瓦卡亚技术私人有限公司 | 用于应用程序开发和部署的系统和方法 |
CN101667134A (zh) * | 2009-09-23 | 2010-03-10 | 中兴通讯股份有限公司 | 一种构建编译系统的方法、一种编译系统及其构建装置 |
CN101968745A (zh) * | 2010-10-27 | 2011-02-09 | 深圳市五巨科技有限公司 | 一种移动终端应用程序的开发系统和方法 |
CN102160037A (zh) * | 2008-07-18 | 2011-08-17 | 赛贝斯股份有限公司 | 只需设计一次就能在任何平台应用的移动应用开发框架 |
CN102184101A (zh) * | 2011-04-27 | 2011-09-14 | 赵悦 | 一种面向智能手机的软件应用框架及其开发系统 |
US20120167052A1 (en) * | 2006-04-04 | 2012-06-28 | Brian Fjeldstad | Method and system for providing a visual debugger for an interpreted statistical language |
CN103425478A (zh) * | 2012-05-18 | 2013-12-04 | 黑快马股份有限公司 | 跨系统平台微型应用程序的建置系统及其建置方法 |
CN103713889A (zh) * | 2012-09-29 | 2014-04-09 | 三亚中兴软件有限责任公司 | 一种应用的开发、编译和调试方法以及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826681B2 (en) * | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
US9940220B2 (en) * | 2015-05-01 | 2018-04-10 | Teledyne Lecroy, Inc. | Integrating a protocol analysis device with features of a software development program |
-
2016
- 2016-03-23 TW TW105108927A patent/TWI590088B/zh not_active IP Right Cessation
- 2016-07-13 CN CN201610550527.0A patent/CN107229459A/zh active Pending
- 2016-07-18 US US15/212,548 patent/US10037195B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446057B1 (en) * | 1997-10-24 | 2002-09-03 | Paul William Vaughan | Method and apparatus for transparent backtracking |
CN101124540A (zh) * | 2005-01-04 | 2008-02-13 | 瓦卡亚技术私人有限公司 | 用于应用程序开发和部署的系统和方法 |
US20120167052A1 (en) * | 2006-04-04 | 2012-06-28 | Brian Fjeldstad | Method and system for providing a visual debugger for an interpreted statistical language |
CN102160037A (zh) * | 2008-07-18 | 2011-08-17 | 赛贝斯股份有限公司 | 只需设计一次就能在任何平台应用的移动应用开发框架 |
CN101667134A (zh) * | 2009-09-23 | 2010-03-10 | 中兴通讯股份有限公司 | 一种构建编译系统的方法、一种编译系统及其构建装置 |
CN101968745A (zh) * | 2010-10-27 | 2011-02-09 | 深圳市五巨科技有限公司 | 一种移动终端应用程序的开发系统和方法 |
CN102184101A (zh) * | 2011-04-27 | 2011-09-14 | 赵悦 | 一种面向智能手机的软件应用框架及其开发系统 |
CN103425478A (zh) * | 2012-05-18 | 2013-12-04 | 黑快马股份有限公司 | 跨系统平台微型应用程序的建置系统及其建置方法 |
CN103713889A (zh) * | 2012-09-29 | 2014-04-09 | 三亚中兴软件有限责任公司 | 一种应用的开发、编译和调试方法以及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI764031B (zh) * | 2018-08-10 | 2022-05-11 | 日商川崎重工業股份有限公司 | 中介裝置以及中介方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170277519A1 (en) | 2017-09-28 |
TWI590088B (zh) | 2017-07-01 |
US10037195B2 (en) | 2018-07-31 |
TW201734864A (zh) | 2017-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229459A (zh) | 结合程序包创设新行动应用程序的方法、行动装置及系统 | |
Hancock | Real-time programming and the big ideas of computational literacy | |
Slany | Catroid: a mobile visual programming system for children | |
Scolastici et al. | Mobile game design essentials | |
Lavieri | Getting started with unity 5 | |
Roberts et al. | Steps towards prompt-based creation of virtual worlds | |
Solís-Martínez et al. | VGPM: Using business process modeling for videogame modeling and code generation in multiple platforms | |
Schwartz et al. | Kid's programming language (KPL) | |
Ungar et al. | Self | |
Sun et al. | The simulation of building escape system based on Unity3D | |
Thorn | Unity Animation Essentials | |
Berger et al. | Towards an open source game engine for teaching and research | |
Miller | The practitioner's guide to user experience design | |
Pupius | SFML Game Development By Example | |
Morrison | Beginning mobile phone game programming | |
Zhu et al. | RAIL: A domain-specific language for generating NPC behaviors in action/adventure game | |
Clague et al. | Lego Software Power Tools With LDraw MLCad and LPub | |
Penzentcev | Architecture and implementation of the system for serious games in Unity 3D | |
Lavieri | Learning AWS Lumberyard Game Development | |
Kelley | No-Code Video Game Development Using Unity and Playmaker | |
Bonn | The impact of integrating Artificial Intelligence into the video games industry.: A case study. | |
Luhana et al. | Rock bottom, the world, the sky: Catrobat, an extremely large-scale and long-term visual coding project relying purely on smartphones | |
Huntley et al. | Game Programming for Artists | |
Nasution et al. | Tile-based Game Plugin for Unity Engine | |
Baruah et al. | Movement in VR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171003 |