2
2
Mobile Ecosystem is collection of multiple devices (mobile phones, Tablet, Phablet etc),
software (operating system, development tools, testing tools etc.), companies (device
manufacturers, carrier, apps stores, development/testing companies, etc.) etc., and the process by
which data (sms, bank transactions etc.), is transferred/shared by a user from one device to
another device or by the device itself based on some programs (Birthday, Wedding Messages,
calendar).
Data (Text, MultiMedia, VOICE) sharing can be done between devices of the same operating
system or different operating systems. Examples: IPhone (IOS) to Windows Phone or
IPhone(IOS) to Nexus(Android) or Motorola(Android) to Nexus (Android).
Data can be also shared between multiple devices with the same operating system of the same
manufacturer. Example: Apples: IOS: Iphone, Ipad, to Ipod, TV, Laptops.
Process:
Mobile Manufacturers:
Operating System:
This is the important component of a Mobile, which controls/operates all applications that are
residing on the mobile phone. Android is open source and IOS is a closed source.
Mobile Ecosystem:
**
A. Emulators:
Actual device (mobile) operations and functions are simulated on to the computer. Instead of
buying several devices (Motorola, Samsung, Micromax etc), we can use emulators for functional
testing. Network Connectivity, resolution testing etc cannot be tested 100% with emulators. So
for testing to be 100% perfect, devices are needed and again buying several devices will be very
costly. For this, you can go to Mobile Cloud environment companies and rent those mobile
phone.
B. Mobile Cloud:
Companies rent mobiles and other devices virtually at hourly or weekly basis or monthly basis
etc. Applications can be tested by subscribing to those companies.
Example:
DeviceAnywhere (http://www.deviceanywhere.com/mobile-application-testing-overview.html)
Perfecto Mobile: www.perfectomobile.com
Mobile Stores:
Application created can be uploaded in stores after getting approval from those stores and
applications can be sold. Applications can also be downloaded at free of cost or on paid basis.
Mobile Ad Companies:
Carrier/Network:
Carriers carry Voice data (calling), text data (sms), and multimedia data etc from one device to
another device through Networks. Users subscribe to different plans available with Carriers.
******************************
Native apps are created for one specific platform or operating system.
Web apps are responsive versions of websites that can work on any mobile
device or OS because they’re delivered using a mobile browser.
Hybrid apps are combinations of both native and web apps, but wrapped within a
native app, giving it the ability to have its own icon or be downloaded from an
app store.
Native Apps
Native apps are built specifically for a mobile device’s operating system (OS). Thus,
you can have native Android OS or native iOS apps. And hence native apps cannot be
used on different types of operating system.Technology Used: Native apps are coded
using a variety of programming languages. Some examples include: Java, Kotlin,
Python, Swift, Objective-C, C++, and React.
Web Apps
Web apps or mobile web apps work can be accessed from an internet browser window. It
does not require any storage space or installation process to use the app. Mobile web apps
adapt to various screen sizes and devices easily.
One of the major differences between the two, is that native mobile apps can function both
in the offline mode without an active internet connection and the online mode, whereas the
web apps require an active internet connection for them to work. Since these apps are not
installed on the computer or your smartphone, there is no need for updating the web app as
they update themselves on the web-hosted servers.
Technology Used: Web apps are designed using HTML5, CSS, JavaScript, Ruby, and
similar programming languages used for web work.
Advantages of web apps:
Technology Used: Hybrid apps use a mixture of web technologies and native APIs.
They’re developed using: Ionic, Objective C, Swift, HTML5, and others.
1. Complex apps with many functions will slow down the app.
2. More expensive than web apps
3. Less interactive than native apps
4. Apps cannot perform OS specific tasks
******************************