Mobile DevOps

Last updated

Mobile DevOps is a set of practices that applies the principles of DevOps specifically to the development of mobile applications. Traditional DevOps focuses on streamlining the software development process in general, but mobile development has its own unique challenges that require a tailored approach. [1] Mobile DevOps is not simply as a branch of DevOps specific to mobile app development, instead an extension and reinterpretation of the DevOps philosophy due to very specific requirements of the mobile world. [2]

Contents

Rationale

Traditional DevOps approach has been formed around 2007-2008, [3] close to the dates when iOS and Android mobile operating systems were released to the public. The traditional DevOps approach primarily evolved to meet the changing needs of the software development world with the paradigm shift towards continuous and rapid development and deployment (such as in web development, where interpreted languages are more prevalent than compiled languages). [4] While traditional DevOps embraced agility and flexibility, mobile operating system providers steered towards a walled-garden approach with compiled apps with tight controls over how they can be distributed and installed on a mobile device. [5] This difference in the mobile development mindset compared to what the traditional DevOps approach is advocating, is augmented further with the mobile applications to be deployed on a high number of varying devices and operating systems. [6]

Eventually, the concept of Mobile DevOps took off as a trend around 2014-2015, [7] in line with the fast growth of the number of applications in mobile app stores. [8] As individuals and corporations alike are developing and publishing more and more mobile applications, the need for efficiency and shorter release cycles increased, which is addressed by the continuous feedback and continuous development approach within the concept of DevOps, [1] while requiring a significant level of adaptation and extension of the traditional DevOps practices. [9]

Mindset shift from traditional DevOps to mobile DevOps

Mobile DevOps has a unique set of challenges and constraints, which solidifies the fact that it needs to be approached as a separate discipline. [1] [9]

These challenges can be outlined as follows:

Benefits of mobile DevOps

Mobile DevOps is not an abstract concept and offers a range of benefits that can help improve the efficiency and effectiveness of the mobile app development process. These benefits can even be quantified by collecting the data within the mobile application development lifecycle. [9]

The benefits can be categorized into the following areas:

See also

Related Research Articles

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Software deployment is all of the activities that make a software system available for use.

<span class="mw-page-title-main">Virtual keyboard</span> Software component

A virtual keyboard is a software component that allows the input of characters without the need for physical keys. Interaction with a virtual keyboard happens mostly via a touchscreen interface, but can also take place in a different form when in virtual or augmented reality.

Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. 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 and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.

Azure DevOps Server, formerly known as Team Foundation Server (TFS) and Visual Studio Team System (VSTS), is a Microsoft product that provides version control, reporting, requirements management, project management, automated builds, testing and release management capabilities. It covers the entire application lifecycle and enables DevOps capabilities. Azure DevOps can be used as a back-end to numerous integrated development environments (IDEs) but is tailored for Microsoft Visual Studio and Eclipse on all platforms.

<span class="mw-page-title-main">ChromeOS</span> Linux-based operating system developed by Google

ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system developed and designed by Google. It is derived from the open-source ChromiumOS, based on the Linux kernel, and uses the Google Chrome web browser as its principal user interface.

Apache Cordova is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova. Apache Cordova enables software programmers to build hybrid web applications for mobile devices using CSS3, HTML5, and JavaScript, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone. It enables the wrapping up of CSS, HTML, and JavaScript code depending on the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application nor purely Web-based. They are not native because all layout rendering is done via Web views instead of the platform's native UI framework. They are not Web apps because they are packaged as apps for distribution and have access to native device APIs. Mixing native and hybrid code snippets has been possible since version 1.9.

Titanium SDK is an open-source framework that allows the creation of native mobile applications on platforms iOS and Android from a single JavaScript codebase. It is presently developed by non-profit software foundation TiDev, Inc.

DevOps is a methodology in the software development and IT industry. Used as a set of practices and tools, DevOps integrates and automates the work of software development (Dev) and IT operations (Ops) as a means for improving and shortening the systems development life cycle. DevOps is complementary to agile software development; several DevOps aspects came from the agile way of working.

Smartface is a mobile technology company focusing on enterprise mobility in the cloud for mobile transformation in enterprises. Smartface is headquartered in Palo Alto with offices in New Jersey, Istanbul and Dubai.

A mobile enterprise application platform (MEAP) is a suite of products and services that enable the development of mobile applications. The term was coined in a Gartner Magic Quadrant report in 2008 when they renamed their "multichannel access gateway market".

Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. Continuous testing was originally proposed as a way of reducing waiting time for feedback to developers by introducing development environment-triggered tests as well as more traditional developer/tester-triggered tests.

Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and following a pipeline through a "production-like environment", without doing so manually. It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

TransApps was a program of the Defense Advanced Research Projects Agency (DARPA) of the United States Department of Defense. The goal of the program was to demonstrate rapid development and fielding of secure mobile apps on the battlefield. With its agile and user-centric approach, the DARPA program specifically addressed the limitations of the slow requirements-centric software development cycle followed by many Army programs of record.

<span class="mw-page-title-main">Progressive web app</span> Specific form of single page web application

A progressive web application (PWA), or progressive web app, is a type of application software delivered through the web, built using common web technologies including HTML, CSS, JavaScript, and WebAssembly. It is intended to work on any platform with a standards-compliant browser, including desktop and mobile devices.

In software engineering, CI/CD or CICD is the combined practices of continuous integration (CI) and continuous delivery (CD) or, less often, continuous deployment. They are sometimes referred to collectively as continuous development or continuous software development.

<span class="mw-page-title-main">CircleCI</span> American software company

CircleCI is a continuous integration (CI) and continuous delivery (CD) platform that can be used to implement DevOps practices. The company was founded in September 2011 and has raised $315 million in venture capital funding as of 2021, at a valuation of $1.7 billion. CircleCI is one of the world's most popular CI/CD platforms. Facebook, Coinbase, Sony, Kickstarter, GoPro, and Spotify used CircleCI in 2019.

<span class="mw-page-title-main">Katalon Studio</span> Automation testing software tool

Katalon Platform is an automation testing software tool developed by Katalon, Inc. The software is built on top of the open-source automation frameworks Selenium, Appium with a specialized IDE interface for web, API, mobile and desktop application testing. Its initial release for internal use was in January 2015. Its first public release was in September 2016. In 2018, the software acquired 9% of market penetration for UI test automation, according to The State of Testing 2018 Report by SmartBear.

<span class="mw-page-title-main">HarmonyOS</span> Distributed operating system by Huawei

HarmonyOS (HMOS) is a distributed operating system developed by Huawei for smartphones, tablets, smart TVs, smart watches, personal computers and other smart devices. It has a multi-kernel design with dual frameworks: the operating system selects suitable kernels from the abstraction layer in the case of devices that use diverse resources. The operating system was officially launched by Huawei in August 2019.

<span class="mw-page-title-main">UserLAnd Technologies</span> Compatibility layer mobile app

UserLAnd Technologies is a free and open-source compatibility layer mobile app that allows Linux distributions, computer programs, computer games and numerical computing programs to run on mobile devices without requiring a root account. UserLAnd also provides a program library of popular free and open-source Linux-based programs to which additional programs and different versions of programs can be added.

References

  1. 1 2 3 4 5 Tak, Rohin; Modi, Jhalak (2018). Mobile DevOps: Deliver continuous integration and deployment within your mobile applications. Packt Publishing. pp. 12–18. ISBN   9781788296243.
  2. 1 2 "What is Mobile DevOps in iOS and Android App Development?". ionic.io. 2022-09-28. Retrieved 2024-03-26.
  3. Atlassian. "History of DevOps". Atlassian. Retrieved 2024-03-26.
  4. Smith, David (2024-01-25). "The Evolution of DevOps". DevOps.com. Retrieved 2024-03-26.
  5. 1 2 3 4 Appcircle (2022-10-08). "5 Differences Between Mobile CI/CD and Web/Backend CI/CD". Appcircle Blog. Retrieved 2024-03-26.
  6. 1 2 Yarlagadda, Ravi Teja (2019). "How DevOps Enhances the Software Dévelopment Quality". SSRN Electronic Journal. 7 (3): 358.
  7. "Google Trends for the keyword "Mobile DevOps"". Google Trends. Retrieved 2024-03-26.
  8. "Number of available apps in the Apple App Store from 2008 to July 2023". Statista. Retrieved 2024-03-27.
  9. 1 2 3 4 5 Eramo, Romina; Soccia, Gian Luca; Noletti, Martina; Celi, Alessandro; Autili, Marco. "An Empirical Study on the Role of Devops in the Development of Mobile Applications". SSRN.
  10. Kirkwood, Megan (2024-02-06). "Regulating the Walled Garden: The Challenge of Taking on the Gatekeepers | TechPolicy.Press". Tech Policy Press. Retrieved 2024-03-27.
  11. 1 2 Nabil, Moataz (2023). Mobile DevOps Playbook. Packt. ISBN   9781803242552.