High performant iOS template based application build system
AssigneeOracle International Corporation
InventorChristian David Straub
Life of this patent
Estimating the term…
Loading patent…
AssigneeOracle International Corporation
InventorChristian David Straub
Estimating the term…
Systems and methods are provide for optimizing the iOS application build process to dramatically reduce build times for highly templated mobile applications. A request to build a first application developed using an application development framework can cause one or more binary artifacts of a second application compiled using a build toolkit to be determined. Declarative information associated with the one or more binary artifacts of the second application can be then modified using metadata associated with the first application. The metadata configures one or more components included in the first application. The first application can then be built to target a mobile device using the one or more binary artifacts of the second application and the modified declarative information.
A method, comprising:
A system, comprising:
One or more non-transitory computer-readable storage media storing computer-executable instructions executable by one or more processors, the computer-executable instructions comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Software maintenance or management: version control ; Configuration management
Arrangements for software engineering: software design
Arrangements for software engineering: requirements analysis; Specification techniques
Arrangements for software engineering: creation or generation of source code
About 8 years 11 months of term left · ends 25 Sep 2035 (estimated)
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all (copyright or mask work) rights whatsoever.
Embodiments are directed generally to an application development system, and in particular, to a mobile application development system providing high performant build system for mobile applications.
An application refers to a software program, which on execution performs specific desired tasks. In general, several applications are executed in a run-time environment containing one or more of operating systems, virtual machines (e.g., supporting Java™ programming language), device drivers, etc., as is well known in the relevant arts.
In order to reasonably describe and illustrate those innovations, embodiments, and/or examples found within this disclosure, reference may be made to one or more accompanying drawings. The additional details or examples used to describe the one or more accompanying drawings should not be considered as limitations to the scope of any of the claimed inventions, any of the presently described embodiments and/or examples, or the presently understood best mode of any innovations presented within this disclosure.
FIG. 1 is a block diagram of a system for developing applications that use mobile cloud services, in accordance with an embodiment of the present invention.
FIG. 2 is a block diagram of a computing environment to facilitate communication between a mobile computing device and enterprise computer systems according to some embodiments of the present invention.
In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of embodiments of the invention. However, it will be apparent that various embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. The figures and description are not intended to be restrictive. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims.
Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
The term “machine-readable medium” or “computer-readable medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, wireless channels, and various other mediums capable of storing, containing or carrying instruction(s) and/or data. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.