Content deleted Content added
Jerryobject (talk | contribs) Small WP:COPYEDITs WP:EoS WP:TERSE. Nonlead-word nonproper noun MOS:CAPS > WP:LOWERCASE sentence case. WP:LINKs add. Cut needless whitespace character carriage returns, between MOS:HEADings and text: to standardize, aid work via small screens. |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1:
{{
{{Use dmy dates|date=September 2020}}
'''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.<ref>{{Cite web |title=Introduction to Mobile Application Development
The mobile app development sector has experienced significant growth in Europe. A 2017 report from the Progressive Policy Institute estimated there were
== Overview ==
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
▲In order to facilitate the development of applications for mobile devices, and the 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 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 an essential step in the creation of mobile apps. Mobile UI designers consider constraints, contexts, screen space, input methods, and mobility as outlines for design. Constraints in mobile UI design, which include the limited attention span of the user and form factors such as a mobile device's screen size for a user's hand(s). Mobile UI context includes signal cues from user activity, such as the ___location where or the time when the device is in use, that can be observed from user interactions within a mobile app. Such context clues can be used to provide automatic suggestions when scheduling an appointment or activity or to filter a list of various services for the user.
Line 20 ⟶ 19:
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
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 servers, mobile backend as a service (MBaaS), and [[service-oriented architecture]] (SOA) infrastructure.
Line 28 ⟶ 27:
=== Front-end development tools ===
Front-end development tools are focused on the user interface and user experience (UI-UX) and provide the following abilities:
* UI design tools
* SDKs to access device features
Line 37 ⟶ 34:
Notable tools are listed below.
==== First
First party tools include official [[software development kit|SDKs]] published by, or on behalf of, the company responsible for the design of a
▲design of a particular hardware platform (e.g. Apple, Google, etc) as well as any third-party software that is officially supported for the purpose of developing mobile apps for that hardware.
{| class="wikitable sortable" style="font-size:90%"
Line 73 ⟶ 68:
! [[iOS SDK]]
| [[Objective-C]], [[Swift (programming language)|Swift]]
|
| Bundled with iPhone SDK, integrated with Xcode IDE
| [[Xcode
| [[iPhone]], [[iPad]], [[iPod Touch]]
| Only via [[App Store (
▲Since 2015, Apple allows installing the app in your own device without a developer paid membership.<ref>{{Cite web|url=https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/LaunchingYourApponDevices/LaunchingYourApponDevices.html|title=Launching Your App on Devices|website=Apple Developer |access-date=2016-04-30}}</ref>
|-
! [[iOS SDK]]
Line 86 ⟶ 79:
| Debugger integrated in Xcode IDE
| Included in Delphi XE2 professional or higher
| [[Embarcadero Technologies|Embarcadero]] [[Delphi (
| [[iPhone]], [[iPad]], [[iPod Touch]]
| Only via [[App Store (
| Development requires [[Intel]]-based [[
|}
==== Second
{| class="wikitable sortable" style="font-size:90%"
! [[Computing platform|Platform]]
Line 114 ⟶ 106:
|}
==== Third
{| class="wikitable sortable" style="font-size:90%"
! [[Computing platform|Platform]]
Line 406 ⟶ 397:
|-
! [[Unity (game engine)|Unity]]
| [[C Sharp (programming language)|C#]], [[JavaScript]], [[Boo (programming language)|Boo]], other [[
| {{Yes}}
| Remote used to simulate device interaction before app is uploaded to the device.
Line 415 ⟶ 406:
|-
! [[Verivo]] AppStudio
| WYSIWYG, graphical drag and drop, [[JavaScript]], [[
| {{Yes}}
| Test right in browser or device
Line 433 ⟶ 424:
|-
! [[V-Play Engine]]
| [[Objective
| {{Yes}}
| {{Yes}}
Line 442 ⟶ 433:
|-
! Wakanda
| [[HTML5]], [[
| {{Yes}}
| {{Yes}}
Line 454 ⟶ 445:
| {{Yes}}
| {{Yes}}
|Xamarin Studio (Mac only; deprecated), Visual Studio (Windows only), Visual Studio for Mac (Mac only; replaced Xamarin Studio)<ref name="xamarinrebrand">{{cite
|Android, iOS, Windows Phone, Windows Store apps
|The native distribution of each platform
Line 470 ⟶ 461:
===Back-end servers===
Back-end tools pick up where the front-end tools leave off, and provide a set of reusable services that are centrally managed and controlled and provide the following abilities:
* Integration with back-end systems
* User authentication-authorization
Line 478 ⟶ 467:
* Reusable business logic
Available tools
{| class="wikitable sortable" style="font-size:90%"
! [[Computing platform|Platform]]
Line 517 ⟶ 505:
|-
! Wakanda
| [[
| Use Wakanda Studio
| Android, iOS (iPhone, iPad), Windows Phone 10 (soon), HTML5 app
Line 541 ⟶ 529:
===Security add-on layers===
With [[bring your own device]] (BYOD) becoming the norm within more enterprises, IT departments often need stop-gap, tactical solutions that layer atop existing apps, phones, and platform component. Features include
* App wrapping for security
* Data encryption
Line 550 ⟶ 536:
===System software===
Many system-level components are needed to have a functioning platform for developing mobile apps.
Line 685 ⟶ 670:
===Mobile app testing===
Mobile applications are first tested within the development environment using emulators and later subjected to [[field testing]]. [[Emulator]]s provide an inexpensive way to test applications on mobile phones to which developers may not have physical access. The following are examples of tools used for testing applications across the most popular [[mobile operating system]]s.
* ''Google Android Emulator'' – an [[Android (operating system)|Android]] emulator that is patched to run on a Windows PC as a standalone app, without having to download and install the complete and complex [[Android SDK]]. It can be installed and Android compatible apps can be tested on it.
* ''
*
*
▲* '''TestiPhone''' - a [[web browser]]-based [[simulator]] for quickly testing [[iPhone]] [[web applications]]. This tool has been tested and works using [[Internet Explorer 7]], [[Firefox 2]] and [[Safari 3]].
*
▲* '''iPhoney''' - gives a [[pixel]]-accurate web browsing environment and it is powered by [[Safari (web browser)|Safari]]. It can be used while developing [[web sites]] for the [[iPhone]]. It is not an iPhone simulator but instead is designed for web developers who want to create 320 by 480 (or 480 by 320) websites for use with iPhones. iPhoney will only run on [[OS X]] 10.4.7 or later.
*
▲* '''BlackBerry Simulator''' - There are a variety of official BlackBerry simulators available to emulate the functionality of actual BlackBerry products and test how the device software, screen, keyboard and [[trackwheel]] will work with the application.
*
▲* '''Windows UI Automation''' - To test applications that use the Microsoft UI Automation technology, it requires Windows Automation API 3.0. It is pre-installed on Windows 7, Windows Server 2008 R2 and later versions of Windows. On other operating systems, you can install it using Windows Update or download it from the [[Microsoft]] Web site.
▲* '''MobiOne''' Developer - a [[mobile Web]] [[integrated development environment]] (IDE) for [[Windows]] that helps developers to code, test, debug, package and deploy mobile [[Web application]]s to devices such as [[iPhone]], [[BlackBerry]], [[Android (operating system)|Android]], and the [[Palm Pre]]. MobiOne Developer was officially declared End of Life by the end of 2014.<ref>{{cite web |title=MobiOne Developer 1.0 M4: Create App Store-ready Mobile Web Applications, Experience True Device Behavior on Windows |url=https://www.prweb.com/releases/iphone/10/prweb2980934.htm |archive-url=https://web.archive.org/web/20091008093929/http://www.prweb.com/releases/iphone/10/prweb2980934.htm |url-status=dead |archive-date=8 October 2009 |website=PRWeb |access-date=31 May 2021}}</ref>
Tools include
* [[Eggplant
* [[Ranorex]]
* [[Testdroid]]
== Design principles ==
According to a 2020 Industry Report on Applications, 46% of [[mobile app]] users have stated that they have stopped using or uninstalled an app due to poor performance.<ref name=":0">{{Cite web |date=2020-01-06 |title=Apps Statistics, Usage & Downloads (2020 report) |url=https://saasscout.com/statistics/apps-statistics/ |access-date=2024-02-20 |website=SaaS Scout (formerly SoftwareFindr) |language=en-US}}</ref> Design experts advocate for the following design principles to create successful and effective mobile apps:
==Patents==
Many patent applications are pending for new mobile phone apps. Most of these are in the technological fields of business methods, database management, data transfer, and operator interface.<ref>[http://ipwatchdog.com/2011/04/06/increasing-allowance-rates-by-selectively-targeting-patent-class/id=16283/ Nowotarski et al., "Increasing Allowance Rates by Selectively Targeting Patent Class" IPwatchdog, April 6, 2011]</ref>
== See also ==
{{div col|colwidth=20em}}
* [[List of mobile app distribution platforms]]
Line 741 ⟶ 725:
==References==
{{
{{Mobile operating systems}}
{{Mobile phones}}
|