0% found this document useful (0 votes)
7 views9 pages

Week 5 - CC106 - Multiplatform Application Development_upload

This document outlines a course on Multiplatform Application Development, detailing learning outcomes, course content, and references. It covers the differences between native and cross-platform app development, benefits of cross-platform frameworks, and lists the top five cross-platform app frameworks. Additionally, it discusses hardware and software platforms relevant to application development.

Uploaded by

DHEN DHEN
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
7 views9 pages

Week 5 - CC106 - Multiplatform Application Development_upload

This document outlines a course on Multiplatform Application Development, detailing learning outcomes, course content, and references. It covers the differences between native and cross-platform app development, benefits of cross-platform frameworks, and lists the top five cross-platform app frameworks. Additionally, it discusses hardware and software platforms relevant to application development.

Uploaded by

DHEN DHEN
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 9

COLLEGE OF TECHNOLOGY AND INFORMATION SYSTEMS

Bachelor of Science in Information Systems

Course Number: CC 106 Instructor: Jeffrey S. Frasco, MIT


Course Application Development & Mobile No.: 09429170551
Description: Emerging Technologies
Credit Units: 3 Email Add.: jeffreyfrasco14@gmail.com
Module No.: 3
Duration: 1 Week

I. LEARNING OUTCOMES

After reading this module, you are expected to:

1. discuss what multiplatform application development is;


2. differentiate native and cross-platform application development;
3. identify the benefits of cross-platform app development;
4. identify the top 5 cross-platform app frameworks;
5. discuss what hardware platforms are;
6. identify the different types of hardware platforms;
7. discuss what software platforms are; and
8. identify the different types of software platforms.

II. TOPIC

Multiplatform Application Development

1. Introduction to Multiplatform Application Development


2. The Difference Between Native and Cross-Platform App Development
3. Top 5 Cross-Platform App Frameworks
4. Hardware Platform
5. Software Platform

III. REFERENCE

 https://www.igi-global.com/book/emerging-technologies-applications-data-processing/
218130. Accessed: August 2021
 https://sites.google.com/view/woykszwdzx/application-development-and-emerging-
technologies-syllabus-pdf. Accessed: August 2021
 https://pdfs.semanticscholar.org/0778/18d3119f6eed0432134175afd34727fad20d.pdf.
Accessed: August 2021

IV. COURSE CONTENT

INTRODUCTION TO MULTIPLATFORM APPLICATION DEVELOPMENT

 What does cross-platform development means?

 Cross-platform development is the practice of developing software products or


services for multiple platforms or software environments. Engineers and developers
use various methods to accommodate different operating systems or environments
for one application or product.

 The idea of cross-platform development is that a software application or product


should work well in more than one specific digital habitat. This capability is typically
pursued to sell software for more than one proprietary operating system, such as to
accommodate use on both Microsoft and Apple platforms. With the development of
mobile devices and other kinds of platforms, as well as the proliferation of open-

CC 106 – Application Development & Emerging Technologies 1


source technologies like Linux, more kinds of cross-platform development have
emerged.

 Some of the fundamental strategies for cross-platform development include


compiling different versions of the same program for different operating systems, or
in other cases, the use of sub-tree files to apply or fit the product to different
operating systems. Another major approach is to make the program abstract at
certain levels to accommodate different software environments. Software like this
can be said to be "platform agnostic" in that it doesn't value or support one platform
over another. Developers can also use application programming interfaces (APIs) to
adjust a piece of software to a specific platform.

 In general, cross-platform development can make a program less efficient. For


example, it can require redundant processes or file storage folders for the various
systems that it's supposed to support. It may also require that a program be
"dumbed down" to accommodate less sophisticated software environments.
However, in many cases, the makers of software figured out that the limitations of
cross-platform development are worth dealing with to offer an application or product
to a wider set of users.

THE DIFFERENCE BETWEEN NATIVE AND CROSS-PLATFORM APP DEVELOPMENT

 Native vs cross-platform is a never-ending debate that has kept the tech community
divided for years. There are a few experts who prefer native apps over cross-platform
apps, on the other hand, companies like Uber are coming up with their cross-platform
app framework—Ribs— to rewrite their driver app.

 Native app development eschews the complexity of creating a sustainable product that
spans multiple platforms and instead focuses on generating a competent design that
stays close to the target platform–Android and iOS.

 Cross platform frameworks seek to generate an app that reaches out to as many
followers of your brand as possible by covering a wide number of end devices during the
programming and creation process.

 THE BENEFITS OF CROSS PLATFORM APP DEVELOPMENT

 “Given the exponential increase in the cost of per platform development and the need for rapid
time to market, cross-platform development is the way to go for the enterprise.” - Gautam
Agrawal

a. Code Reusability
 Ease of code reusability is one of the biggest upsides that hybrid app
development offers. A single code can be used for multiple platforms. So, it’s
half the effort and time as compared to native app development.

b. Cost-Effectiveness
 It offers a relatively lower cost of development as compared to native app
development since the code is written once and used for both (or more)
platforms.

c. Consistency in UI Components
 Cross-platform apps offer a decent extent of consistency in native UI
components of the device. The look and feel are uniform.

d. Easy Hosting
 It is easy to host on respective app stores once all the requirements have
been fulfilled.

e. Cloud Integration
 Integration with the cloud environment is easy. You can even integrate them
quickly with enterprise-grade plugins thus offering universal compatibility.

f. Fewer Technical Barriers

CC 106 – Application Development & Emerging Technologies 2


 Developers encounter fewer technical barriers as there is no need to learn
specific languages like Objective-C or Swift. Proficiency in HTML, JavaScript,
and CSS3 suffices for cross-platform app development.

g. Shorter Time to Market


 Such apps offer a shorter time to market and a wide market reach. Since the
turnaround is quick, the time to market is short. And as the app is available
on multiple platforms at the same time, it saves the marketing effort.

TOP 5 CROSS-PLATFORM APP FRAMEWORKS

 There are a number of cross-platform app frameworks out there, each with their own set
of pros and cons, however, as per the following trend where we have picked the most
competitive and top-performing frameworks available in the market today.

1. Xamarin: Loved by Developers, Trusted by Enterprise

 Xamarin was launched in 2011 as an independent cross-app development framework


but was later acquired by Microsoft in 2016, thus lending it more credibility than
before.

 It is an open-source framework that was launched to solve the problem of disjointed


native technology stacks, which made mobile app development a difficult and
expensive affair.

 Pros of Xamarin

a. Xamarin app development uses C# for coding, meaning that it works seamlessly
on an array of platforms (including Android and iOS).
b. Xamarin has a strong community of over 60,000 contributors from more than
3,700 companies.
c. Share more than 75% of your code across platforms, for “write once, run
anywhere” ease.
d. A single tech stack for faster development

 Cons of Xamarin

a. It is expensive for enterprises. Xamarin is a framework that comes free for


individuals and startups. However, enterprises are required to buy a license for
Microsoft’s Visual Studio.
b. Xamarin is not recommended for apps that demand heavy graphics because each
platform has a different method for visually laying out screens. A UX/UI-rich
application is advised to be implemented natively.
c. It also offers limited access to certain important libraries that the app
developers need for mobile app development. Also, since the core of its user-
interface creation is not mobile, creating the UI is time-consuming.

 Apps Made with Xamarin Cross-Platform App Framework

1. Fox Sports
2. Alaska Airlines
3. HCL
4. American Cancer Society
5. BBC Good Food

2. React Native: Learn Once, Write Anywhere

 React Native is an endeavor that Facebook launched in 2015, and it did cause a wave
in the market for hybrid frameworks. Within a few years of its introduction in the
market, it is already one of the most popular ones.

a. React Native lacks consistency when it comes to releasing the updates.


b. React Native improves the speed of development, but also increases the duration
of the debugging process, especially on Android.

CC 106 – Application Development & Emerging Technologies 3


 Also, in the Stack Overflow ‘Developer Survey Results, 2019’, React Native was found
in the category of dreaded frameworks for the first time.

 Apps Made with React Native Cross-Platform App Framework

1. Instagram
2. Bloomberg
3. Pinterest
4. Skype
5. Tesla

3. Flutter: Beautiful Native Apps in No-Time

 Flutter is another open source and free cross-platform framework for creating native
interfaces for Android as well as iOS.
 Flutter is a cross-platform app framework maintained by Google, the very same
organization that develops the Android Native Framework. The other reasons that
made me include Flutter in this list are backed by a survey held by Stack Overflow.
 In the Developer Survey Results, 2019 Flutter is amongst the top 3 most loved
frameworks and it added another complexity to the existing popularity of the
Reactive Native framework.

 Pros of Flutter

a. “Hot reloading” feature enables developers to see changes made in code within
seconds not minutes as when using native technologies.

b. It is an ideal framework for MVP development. Instead of spending extra money


and time on two separate apps, you can build a Flutter mobile application quickly
that looks native on both Android and iOS.

c. Flutter is based on Dart, an object-oriented programming language that


developers have found rather easy to acquire the skill for.
d. Flutter has a full set of widgets in Google’s Material Design and in Apple’s style
with the Cupertino pack.

e. Many ready-made solutions for native Android and iOS apps enable you to work
with Continuous Integration platforms like Travis and Jenkins.

 Cons of Flutter

a. There is limited TV support with apps built on Flutter framework, i.e., Flutter offers
no support for Android TV and Apple TV.

b. Though by the virtue of being developed by Google, there are several libraries
with ready-to-implement functionalities, Flutter still lacks with respect to native
development.

c. Since Flutter-enabled apps use built-in widgets and not platform widgets,
therefore the size of the app is usually bigger. Currently, the smallest possible
app made with Flutter can weigh no less than 4MB.

 Apps Made with Flutter Cross-Platform App Framework

1. Alibaba
2. Google
3. Google Ads
4. Tencent

4. Adobe PhoneGap: Build amazing mobile apps powered by open web tech

 PhoneGap was previously known as Apache Cordova. It is owned as well as sourced


by Adobe. It is a simple cross-platform app development framework that uses HTML5,
CSS, and JavaScript.

 Pros of Adobe PhoneGap

CC 106 – Application Development & Emerging Technologies 4


a. It allows you to share the application with the team to garner their feedback.

b. It also offers a cloud solution in case you want to create your app directly.

c. Features like access to third-party tools, a large community (the one behind the
free and open-source Apache Cordova), and a large number of plugins, make it
better than its competitors.

d. It uses an intuitive desktop as for mobile app development and then serves the
app created on the desktop to mobile devices connected to it.

 Cons of Adobe PhoneGap

a. PhoneGap is not recommended for high-performance applications and hardware


intensive apps like gaming apps due to its poor performance and lack of UI
Widgets.

b. PhoneGap is dependent on iOS SDKs to build an app and downloading these SDKs
requires a Mac.

c. Apps built with PhoneGap to tend to go a little low on performance as compared


to native apps

 Apps Made with PhoneGap Cross-Platform App Framework

1. Wikipedia
2. TripCase
3. FanReact

5. Ionic: Make App Creation Lightning Fast

 Ionic is an open-source cross-platform app framework and licensed under MIT. It uses
HTML5 for translation. Very similar to AngularJS in design and structure. It also
inherits a few design elements from iOS as well as Android. It allows you to build
native-like hybrid apps for Android and iOS as well as progressive web apps.

 PS: Ionic has introduced Ionic React: One codebase. Any Platform. Now in React.

 Pros of Ionic

a. Ionic is based on a SAAS UI framework designed specifically for mobile operating


systems. It provides numerous UI components for developing robust applications.

b. The Ionic framework allows you to ship continuously. From automated native
builds to live updating and CI/CD, Ionic Appflow addresses the entire
mobile DevOps lifecycle.

c. Ionic is backed by a vibrant community of more than 5M developers in over 200


countries.

 Cons of Ionic

a. The knowledge of AngularJS becomes almost a necessity if one wants to go


beyond basic apps.

b. Designing in-app navigation is complex because of its not-so-easy-to-use UI-


router.

 Apps Made with Ionic Cross-Platform App Framework

1. IBM
2. ING
3. SAP
4. NASA

CC 106 – Application Development & Emerging Technologies 5


HARDWARE PLATFORM

 A hardware platform can refer to computer or processor architecture. For example, the
x86 and x86-64 CPUs constitute the most common computer architectures.

 These machines usually run a version of Microsoft Windows, although you can also
run other operating systems, such as Linux, OpenBSD, NetBSD, Mac OS X,
and FreeBSD.

 However, An ARM architecture is prevalent in smartphones and tablet PCs, which


run Android, iOS, and other mobile operating systems.

 A hardware platform is a set of compatible hardware on which software applications can


be run. Each specific hardware platform has its own machine language, and programs
must be built specifically for a platform that involves a standardized type of processor
and associated hardware pieces.

 the word "platform" has been extremely useful in IT to refer to the specific structures
within which software programs will run. Tools like application programming interfaces
(APIs) are used to make software compatible with a particular platform.

 CRITERIA FOR CHOOSING THE HARDWARE

1. Make sure the hardware you plan to use is already supported by the Linux kernel,
and has an open-source bootloader, especially the SoC you’re targeting.

2. Having support in the official versions of the projects (kernel, bootloader) is a lot
better: quality is better, and new versions are available.

3. Some SoC vendors and/or board vendors do not contribute their changes back to the
mainline Linux kernel. Ask them to do so or use another product if you can. A good
measurement is to see the delta between their kernel and the official one.

4. Between properly supported hardware in the official Linux kernel and poorly
supported hardware, there will be huge differences in development time and cost.

 RELATED COMPONENTS OF HARDWARE PLATFORM

1. The processor or, in the case of high-performance systems, several processors. Some
of the processors may provide only limited programmability, as is the case for many
video accelerators.
2. The set of I/O devices provided by the platform.
3. The bus interfaces.
4. The software development environment.

 WHAT ARE THE TYPES OF HARDWARE PLATFORMS?

1. Arduino

 Arduino is a free hardware platform (Open Hardware).

o So, based on an Atmel AVR microcontroller the ATmega8, ATmega 168,


ATmega328 and the ATmega1280, with several digital and analog input and
output ports.

o Through which we can read environmental information using various sensors


(temperature, humidity, brightness, magnetism, current, GPS coordinates)

o And display information or notifications (using LEDs, LCD displays, speakers) or


even interact with the user (buttons, joysticks)

 It is the most popular free hardware platform, with more components (sensors,
buttons, displays) and more used, for being open, its simplicity, and its meager cost.

CC 106 – Application Development & Emerging Technologies 6


2. Netduino

 It is Microsoft’s microcontroller programming platform, which was developed by


Secret Lab LLC, based on the idea of Arduino.

o They took an Atmel processor (the same manufacturer as the Arduino processors)
of 32 bits and 48 MHz

o It developed an Arduino compatible board together with the NET Micro


Framework.

o Which is, neither more nor less, a very reduced version of the NET framework that
we all know.

 This idea allows bringing .NET developers to the world of microcontroller


programming. By using a board compatible with all the sensors and devices that
already exist for Arduino.

3. NET Gadgeteer

 NET Gadgeteer platform launched in 2011.

 It is based on the idea to connect different devices to our motherboard in an


effortless way.

 This platform has many devices on the market: display, cameras, network interfaces,
card readers/recorders, joysticks, and Bluetooth

4. Raspberry PI

 This plaque was created by the “Raspberry Pi Foundation” of the United Kingdom to
stimulate the teaching of computer science in schools.

 However, its sale was at the beginning of this year, 2012, with a total of 10,000
plates manufactured in China and Taiwan.

o This board differs significantly from the previous ones, for starters it already
comes with HDMI, RCA ports (to connect it to a TV).

o And USB (to which you can connect a keyboard or mouse).

o GPU is compatible with OpenGL ES 2.0 and OpenVG that Can decode video with
blue-ray quality (H.264 / MPEG-4 AVC) at 40MB.

o And supports resolutions from 640 × 350 to 1920 × 1200, ARM1176JZFS 700 MHz
processor, audio, SD/MMC/SDIO card slot.

 Which makes the most significant difference. And comes with Linux, more specifically
with Raspbian, a version derived from Debian.

 And we can install the distribution we want, including Android.

 WHAT ARE THE ADVANTAGES OF THE HARDWARE PLATFORM?

 Promotes that the hardware can be of quality, open standards and are cheaper

 Increase the safety and proper functioning of the design, by operating in the most
extensive existing testing workshop

 It helps companies save costs and design times in their jobs

CC 106 – Application Development & Emerging Technologies 7


 WHAT ARE THE DISADVANTAGES OF THE HARDWARE PLATFORM?

 Physical design is unique. Sharing depends on the ease of reproduction of the design
and the ability to reproduce it

 Component Availability

 Obtaining patents

 Hardware Production Model

SOFTWARE PLATFORM

 A software environment that is used to write applications and run them. It includes
software tools such as GUI builders, compilers, class libraries and utilities for developing
the applications, as well as a runtime engine for executing the applications, because
they are not able to run on their own. Sun's Java and Microsoft's .NET Framework are
examples of major software platforms.

 THE SOFTWARE PLATFORM INCLUDES:

 A hardware abstraction layer (HAL), board support package (BSP), or basic


input/output system (BIOS).
 Device drivers.
 An executive or operating system.

 TYPES OF SOFTWARE PLATFORM

1. Operating Systems
 Operating system provide the basic services required to use hardware. These are
the lowest level of platform. Almost all software runs on an operating system such
as Linux with the only exceptions being low level firmware and embedded
systems.

2. Computing Platforms
 Platforms built on top of operating systems that provide computing functionality
in areas such as cloud computing and virtualization. For example, a cloud
computing platform that allows you to scale your services by adding and
removing virtual machines as required.

3. Database platform
 Cloud platforms for deploying and managing various types of databases such as
relational, NoSQL and in-memory databases.

4. Platforms for scalable storage of objects and files including APIs and value-
added services such as resilient storage that is backed up in multiple
locations.

5. Application platforms are environments and toolkits for developing and


deploying applications, a class of software that is primarily designed to be
used by people. For example, a platform that allows developers to build
dynamic web applications by executing code and interacting with
databases, systems and APIs

6. Mobile Platform
 Mobile platform includes mobile operating systems and environments for building
mobile apps. They also include cloud platforms for building mobile backends that
provide services to mobile apps. This may include specialized APIs that are useful
for mobile app developers in areas such a location and services and voice
recognition

CC 106 – Application Development & Emerging Technologies 8


7. Web Platforms that provide services that are useful to websites and web-
based software as a service such as web servers, web application servers,
content delivery networks and edge computing.

8. API Platform
 Cloud platform for deploying APIs that are typically built around an API gateway
that performs function such as load balancing, latency reduction and rate limiting.

V. ACTIVITY/IES

To be uploaded to google classroom

CC 106 – Application Development & Emerging Technologies 9

You might also like