Content deleted Content added
→Platform: rewrote the short description of Platform, broke the table into three tables (1st party, 2nd party, 3rd party). |
add overview section and try to spell out some of the basic elements of app development. |
||
Line 8:
'''Mobile app development''' is the act or process by which a [[mobile app]] is [[software development|developed]] for one or more [[mobile device]]s, which can include [[personal digital assistant]]s (PDA), [[enterprise digital assistant]]s (EDA), or [[mobile phone]]s. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays (technology, size, dimensions, resolution) and input methods (buttons, keyboard, touch screens with/without styluses). These applications (or 'apps') can be [[Installation (computer programs)|pre-installed]] on phones during manufacturing or delivered as web applications, using server-side or client-side processing (e.g., JavaScript) to provide an "application-like" experience within a [[web browser]].
Developers of mobile applications must also consider a large array of devices with different screen sizes, hardware specifications, and configurations because of intense competition in mobile hardware and changes within each of the platforms.▼
Mobile app development has been steadily growing, in revenues and jobs created. A 2013 analyst report estimates there are 529,000 direct ''app economy'' jobs within the EU then 28 members (including the UK), 60 percent of which are mobile app developers.<ref>VisionMobile, Plum Consulting, "European App Economy", September 2013</ref>
== Overview ==
As part of the development process, mobile [[user interface]] (UI) design is also essential in the creation of mobile apps. Mobile UI considers constraints, contexts, screen, input, and mobility as outlines for design. The user is often the focus of interaction with their device, and the interface entails components of both hardware and software. User input allows for the users to manipulate a system, and device's output allows the system to indicate the effects of the users' manipulation. Mobile UI design constraints include limited attention and form factors, such as a mobile device's screen size for a user's hand(s). Mobile UI contexts signal cues from user activity, such as ___location and scheduling that can be shown from user interactions within a mobile app. Overall, mobile UI design's goal is mainly for an understandable, user-friendly interface. Functionality is supported by [[mobile enterprise application platform]]s or [[integrated development environment]]s (IDEs).▼
In order to facilitate the development of applications for mobile devices, and consistency thereof, various approaches have been taken.
Most companies that ship a product (e.g. Apple, iPod/iPhone/iPad) provide an official software development kit (SDK). They may also opt to provide some form of Testing and/or Quality Assurance (QA). In exchange for being provided the SDK or other tools, it may be necessary for a prospective developer to sign a some form of non-disclosure agreement, or NDA, which restricts the sharing of privileged information.
▲As part of the development process, mobile [[user interface]] (UI) design is
The user is often the focus of interaction with their device, and the interface entails components of both hardware and software. User input allows for the users to manipulate a system, and device's output allows the system to indicate the effects of the users' manipulation.
Overall, mobile UI design's goal is mainly for an understandable, user-friendly interface. Functionality is supported by [[mobile enterprise application platform]]s or [[integrated development environment]]s (IDEs).
▲Developers of mobile applications must also consider a large array of devices with different screen sizes, hardware specifications, and configurations because of intense competition in mobile hardware and changes within each of the platforms.
Today, mobile apps are usually distributed via an official online outlet or marketplace (e.g. Apple - The App Store, Google - Google Play) and there is a formalized process by which developers submit their apps for approval and inclusion in those marketplaces. Historically, however, that was not always the case.
Mobile UIs, or front-ends, rely on mobile back-ends to support access to enterprise systems. The mobile back-end facilitates data routing, security, authentication, authorization, working off-line, and service orchestration. This functionality is supported by a mix of [[middleware]] components including mobile app server, [[mobile backend as a service]] (MBaaS), and [[service-oriented architecture]] (SOA) infrastructure.
== Platform ==
The software development packages needed to develop, deploy, and manage [[mobile app]]s are made from many components and tools which allow a developer to write, test, and deploy applications for one or more target platforms.
|