Fundamentals of Mobile App Development Technology

Page 1

Solutions for higher performance!

Fundamentals of Mobile App Development Technology


Introduction The recent explosion in the popularity of apps has seen more and more people set out to develop their own, and the technology behind them has changed as a result. The big technology companies which easily dominated the market in years past have had to become more competitive in order to keep up sales, while people with limited technical skills have sought out simple design modules to enable them to develop their ideas. Mobile application development is a term used to denote the act or process by which application software is developed for handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing platforms, 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. Application software developers also have to consider a lengthy array of screen sizes, hardware specifications and configurations because of intense competition in mobile software and changes within each of the platforms. Mobile app development has been steadily growing, both in terms of revenues and jobs created. A 2013 analyst report estimates there are 529,000 direct App Economy jobs within the EU 28 members, 60% of which are mobile app developers. 1


As part of the development process, Mobile User Interface (UI) Design is also an 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 application. Overall, mobile UI design's goal is primarily for an understandable, user-friendly interface. The UI of mobile apps should: consider users' limited attention, minimize keystrokes, and be task-oriented with a minimum set of functions. This functionality is supported by Mobile enterprise application platforms or Integrated development environments (IDEs). 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 SOA infrastructure. 2


Platform The platform organizations need to develop, deploy and manage mobile apps is made from many components, and tools allow a developers to write, test and deploy applications into the target platform environment.

Front-end development tools Front-end development tools are focused on the user interface and user experience (UI/UX) and provide the following capabilities UI design tools SDKs to access device features Cross-platform accommodations/support

3


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 capabilities

Integration with back-end systems User authentication/authorization Data services Reusable business logic

4


Security add-on layers With BYOD becoming the norm within more enterprises, IT departments often need stop-gap, tactical solutions that layer on top of existing apps, phones, and platform component. Features include App wrapping for security Data encryption Client actions Reporting and statistics

5


Types of Mobile Applications Native Mobile App A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS and Java for Android operating systems. Native mobile apps provide fast performance and a high degree of reliability. They also have access to a phone's various devices, such as its camera and address book. In addition, users can use some apps without an Internet connection. However, this type of app is expensive to develop because it is tied to one type of operating system, forcing the company that creates the app to make duplicate versions that work on other platforms.

Hybrid Mobile App A hybrid application (hybrid app) is one that combines elements of both native and Web applications. Native applications are developed for a specific platform and installed on a computing device. Web applications are generalized for multiple platforms and not installed locally but made available over the Internet through a browser. Hybrid apps are often mentioned in the context of mobile computing. 6


Web applications There are actually three types of web apps: traditional, responsive and adaptive. Traditional web apps include any website. But what are responsive and adaptive web apps? A responsive web app takes on a different design when it’s opened on a mobile device (i.e. phone or tablet), altering its design to suit the device it is viewed on. An adaptive web app, in contrast, doesn’t change its design. It will display the same design, but will adjust it to fit the different screen size of a mobile device. The biggest benefit of web apps is that they are built using the most popular programming languages—so developer talent is readily available. However, a responsive web app has two principal drawbacks It can’t use any hardware on a device (i.e. an iPhone’s camera). Its “discoverability” will be reduced because it won’t be in any app stores.

7


Getting to the root of Mobile App Development App developer kits As high end app design has grown more sophisticated, the other end of the market has become simpler and easier for anyone to access. Although it’s still useful to be familiar with C++, Ruby or Javascript if you want to do anything complex, developer kits provided by the likes of Apple and Android make it possible to develop native apps with relatively little coding experience. This puts the focus on ideas and ensures consumer demand can be more easily met.

Apps and the web One consequence of apps being developed in this manner is that few of them function on a standalone basis; instead, they tend to draw on other resources from the web. Now the distinction between apps and websites is increasingly blurring, with web-app type sites providing a more practical interface. This is putting pressure on the mobile app.

8


Interconnected apps The problem with the traditional mobile app stems from its popularity. Because they’re so useful, many of us have dozens, if not hundreds, of favorites, and managing them all is getting difficult. Rather than trying to make them all immediately clickable on a small screen, it’s getting easier to access search resources, at which point there seems less point in downloading apps in the first place. This is why top mobile app development teams are now investigating ways to get apps to talk to each other. Using app extensions can enable them to do so without compromising on security, and there’s also the option of using widgets to let them share resources so that, for instance, an app providing maps could let you buy related guidebooks from another app with minimal clicking.

9


What does the Future hold? According to Business Insider: "But apps are very clearly not going to be around forever. Certainly not in their current, bulky square form. There isn't enough mobile homepage real estate for the web's 500 million plus active websites to each have its own app and for everyone to download them. Mobile apps are popular right now because mobile search is terrible and they lay out content in a small -screen-friendly way. If apps do stick around, they may transform more into bookmarks, where people only have a few favorites on their home screens, and all other mobile content can be accessed some other way."(With Inputs from the Web)

10


About Orchestrate Orchestrate is a US based business process management organization with Headquarters in Dallas, Texas. Orchestrate offers services to the diverse outsourcing requirements of clients in an extensive range of businesses including IT, finance, mortgage and contact center. We provide a comprehensive suite of technology and services to our clients that help accelerate sales and boost their profit. Our solutions and services help SMEs and enterprises implement technologies and processes that boost their profitability across the organization.

Solutions for higher performance!

1330 Capital Parkway, Carrollton TX 75006 Toll Free: 800-232-5130

success@orchestrate.com

www.orchestrate.com

Orchestrate Š 2015. All rights reserved.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.