Uploaded by castro jereme

Mobile Application for NCII Certification Guide

advertisement
INTELLISENSE INSTITUTE OF TECHNOLOGY MOBILE APPLICATION
FOR NCII CERTIFICATION GUIDE
A Research
Presented to
The Faculty of
Intellisense Institute of Technology
Mandaue City
In Fulfillment
Of the Requirements for
PRACTICAL RESEARCH 2 GRADE 12
RIAN REY C. BARRIGA
APRIL 2020
Acknowledgements
Throughout the writing of this practical research I have received a great deal of support
and assistance. I would first like to thank my adviser, Ms. Miriam Melendrez, whose expertise
was invaluable in the formulation of the research topic and methodology in particular.
I would like to acknowledge my colleagues in Intellisense Institute of Technology for
their wonderful collaboration. You supported me greatly and were always willing to help me.
I would particularly like to single out our CEO Ms. Gregoria, I want to thank you for your
excellent cooperation and for all of the opportunities I was given to conduct my research here
in IIT.
I would also like to thank my tutors, Ms. Cristine Marie Tangoan and Ms. Maria Nina
Casinto, for their valuable guidance. You provided me with the tools that I needed to choose
the right direction and successfully complete my practical research.
In addition, I would like to thank my parents for their wise counsel and sympathetic
ear. You are always there for me. Finally, there are my friends, who were of great support in
deliberating over our problems and findings, as well as providing happy distraction to rest my
mind outside of my research.
Introduction
The national certificate (NCII) from Technical Education Skills and Development
Authority (TESDA) is the most highlighted subject while studying in Intellisense Institute of
Technology (IIT). This certification will be the key to unlock the opportunities for the students
after they graduate from the school. This is an essential thing a fresh graduate from Intellisense
Institute of Technology must have in order to get a job related to their field of study.
Furthermore, students of Intellisense Institute of Technology are having a hardship on passing
the evaluation for these certifications. This is due to the lack of appropriate and exact review
materials and lack of guide to perform a specific demonstration, answer a specific questions
and recite accurately the recitations. These problems mentioned are the most common reasons
why an Intellisense Institute of Technology student fails in passing the Technical Skills and
Development Authority evaluation for a particular national certification. This research aims to
solve the following problems through creating an intuitive mobile application which will serve
as a guide and review material for the students who are currently undertaking national
certifications for a specific field. The researcher chose the topic because this is in his line of
interests, the problem is an alarming issue of which the school is facing, the researcher is
knowledgeable enough about the particular things needed to create a mobile application in both
Android and IOS operating systems such as the programming language for creating the
application, integrated development environment, software development kit and other tools.
This kind of research conducted in Intellisense Institute of Technology to solve the
problem is the first of its kind. There was no recorded research similar to this. The efficiency
of this research is ensured because of following factors. First, most Intellisense Institute of
Technology students have a smart phone which will be used as a medium of information.
According to the recent survey 98% of the total population in this generation have smart
phones.1 Second, the application is evaluated by a certified staff from Intellisense Institute of
Technology and Technical Skills and Development Authority – Mandaue to ensure that the
information and the guide demonstrations on the mobile application are accurate and precise,
the mobile application will be static. Neither sign-in nor sign up features required to utilize,
ensuring the best user interface and user experience design for the students.
1
Pulse Asia Survey – Recent Survey on The Usage of Smart Phones 2019.
The research is accessible to all Intellisense Institute of Technology students including
those people who are not studying in the school, as it will be published on Google play store
and Apple app store. Though the mobile application has a very intuitive design in which
students can easily get used to, there are still circumstances in which a student will be confused
on how to use the application especially those students who are not literate enough in using
mobile applications specifically on using smart phones. These people are illiterate on using the
medium.
The researcher therefore analyzed that the problem will be addressed by conducting
and creating a seminar and tutorials on platforms such as Facebook, YouTube, Twitter,
Instagram and many more to educate the users on the proper use of the application. A step by
step guide will be released on the mentioned platforms in order for the students to ingest the
information necessary to use the application for their own purpose. This is a proven solution
because it is the essential skill which the huge enterprises are practicing. 2 A hard copy and a
soft copy of the instruction will also be published exclusively and will be distributed to the
students of Intellisense Institute of Technology as a form of manual on using the mobile
application. The researcher is knowledgeable enough to publish both the hard copy and soft
copy of the manual, conduct a live seminar in the campus on the proper use of the mobile
application and to create a precise video tutorial on the mentioned platforms.
2
7 AllBusiness.com – 7 Reasons Why Your Business Needs a Mobile App.
Conceptual Framework
Failure in Passing the evaluation
Dependent Variable
Lack of Review
Material
Expensive
Books
Unorganized
Resources
Independent
Variable
Independent
Variable
Independent
Variable
Statement of Purpose
The purpose of this research was to examine and solve the problems of IIT students in
passing all the NCII certification evaluations and all the factors affecting their hardship in
coping with resources. The examination of background information was important to this
research because it was hoped it would be possible to identify, characterizes and factors
contributing to the problems in mobility and motivation of an IIT student to pass a particular
NCII evaluation. The second part of the study asked the respondents to identify those
significant factors of concern to them. Smartphones and other mobile digital devices, such as
tablets, can be surprisingly useful didactic resources for developing subjects in both distance
and face-to-face university studies. They may, moreover, be used as an instrument conducive
to educational and personal interaction, fostering relationships between students and their
professors (Bedall-Hill, 2010; Chayko, 2008; Franklin, 2011; Johnson, Adams Beker, Estrada,
& Freeman, 2014; Oulasvirta, Wahlström, & Ericsson, 2011; UNESCO, 2013). Both
traditional and new ways of teaching based on Learning Management Systems (LMS) and
educational platforms developed by universities can be enhanced by the use of personalized
apps which can be used in a collaborative way to develop curricular content. They may also be
used to improve new ways of developing generic and specific competencies of university
degrees within the framework of the European Higher Education Area (EHEA).
Significance of the Study
The study of creating an intuitive native mobile application for national certification guide of
Intellisense Institute of Technology and development can be a learning paradigm and great help
in the senior high school, college level and vocational schools to enhance the students’
knowledge and practical skills as well. The project’s goal is designed to help IIT students
improve NCII evaluation competence, develop employability skills, implement a career plan
and participate in a career pathway in preparation for post-secondary education or careers in
the programming, customer service, animation, graphics designing, manufacturing or services
sector after graduating from IIT. This research also helps out of school youths with enough
resources such as smart phones and internet connection to learn a specific field of NCII that is
available on the app for free which will serve as their vehicle in achieving the national
certification.
Definition of Terms
Native Application - A native application is a software program that is developed for use on
a particular platform or device.
Because a native app is built for use on a particular device and its OS, it has the ability to use
device-specific hardware and software. Native apps can provide optimized performance and
take advantage of the latest technology, such as a GPS, compared to web apps or mobile cloud
apps developed to be generic across multiple systems. The term native app is used to refer to
platforms such as Mac and PC, with examples such as the Photos, Mail or Contacts applications
that are preinstalled and configured on every Apple computer. However, in the context of
mobile web apps, the term native app is used to mean any application written to work on a
specific device platform. The two main mobile OS platforms are Apple's iOS and Google's
Android. Native apps are written in the code preliminarily used for the device and its OS. For
example, developers write iOS applications in Objective-C or Swift, while they create Androidnative apps in Java. Native apps work with the device's OS in ways that enable them to perform
faster and more flexibly than alternative application types. If the app is marketed to users of
various device types, developers create a separate app version for each one. For example, the
Facebook application was once written in HTML5 to use the same code for iOS, Android and
mobile web. However, the app was slower for iOS users, leading Facebook's app developers
to create separate code for iOS. Complex tasks can be rebalanced, such as networking done in
the background of the main thread or program, which drives the UI.
Operating System (OS) - An operating system (OS), in its most general sense, is software that
allows a user to run other applications on a computing device. While it is possible for a software
application to interface directly with hardware, the vast majority of applications are written for
an OS, which allows them to take advantage of common libraries and not worry about specific
hardware details.
The operating system manages a computer's hardware resources, including: Input devices such
as a keyboard and mouse. Output devices such as display monitors, printers and scanners.
Network devices such as modems, routers and network connections. Storage devices such as
internal and external drives. The OS also provides services to facilitate the efficient execution
and management of, and memory allocations for, any additional installed software application
programs.
Software Development Kit (SDK) - A software development toolkit (SDK) is a set of
software tools and programs provided by hardware and software vendors that developers can
use to build applications for specific platforms. These providers make their SDKs available to
help developers easily integrate their apps with their services. In order to use a SDK, a
developer needs an iOS SDK to build iOS apps, an Android toolkit for building Android apps,
Nordic SDK to build Bluetooth or wireless apps and a VMware SDK to enable integration with
the VMware platform. Although SDKs are largely associated with native mobile apps,
developers can use them in connection with websites, set-top boxes and other digital platforms.
SDKs include documentation, application programming interfaces (APIs), code samples,
libraries and processes, as well as guides that developers can use and integrate into their apps.
Developers can use SDKs to build and maintain applications without having to write everything
from scratch. SDKs enable developers to enhance apps with more functionality and let them
include push notifications, ads and more. SDKs also help developers more efficiently create
new tools and make the process easier because everything is prebuilt. For example, if a
developer wanted to share images or text from his or her app directly into Facebook, he or she
could look for Facebook’s Android SDK to find the necessary code that would work for an
Android device. This speeds deployment because the developer doesn’t have to write the code
from scratch. Why use SDKs
Software development toolkits allow developers to add functionality to their applications and
enable them to build the standard components of their apps easier and faster. SDKs are usually
all-in-one products and don’t need to be integrated with other components, which can slow
down the development process. Typically, developers use SDKs for simple functions, such
logging in, location services and mobile payments. However, there are also SDKs that help
developers build more complex app features, such as augmented reality (AR) and virtual reality
(VR). SDKs reduce complex integrations by simplifying standard processes, such as creating
authorization signatures or interpreting SMS messages in native languages or platforms.
Difference between SDKs and APIs
An API is code that enables two software programs to communicate with each other. An API
defines the correct way for a developer to request services from an operating system or other
application and expose data within different contexts and across multiple channels.
When a developer uses an SDK to develop applications and create systems, those apps have to
communicate with other applications. An SDK includes an API to enable that communication.
Dart Programming Language - Dart is a client-optimized programming language for fast
apps on multiple platforms. It is developed by Google and is used to build mobile, desktop,
backend and web applications. Dart is an object-oriented, class defined, garbage-collected
language using a C-style syntax that transcompiles optionally into JavaScript. It supports
interfaces, mixins, abstract classes, reified generics, static typing, and a sound type system.
Flutter - Flutter is a mobile app SDK for building high-performance, high-fidelity, apps for
iOS and Android, from a single codebase. The goal is to enable developers to deliver highperformance apps that feel natural on different platforms. Flutter embraces differences in
scrolling behaviors, typography, icons, and more. Flutter includes a modern react-style
framework, a 2D rendering engine, ready-made widgets, and development tools. These
components work together to help you design, build, test, and debug apps. Everything is
organized around a few core principles.
Integrated Development Environment - An integrated development environment (IDE) is a
software suite that consolidates basic tools required to write and test software. Developers use
numerous tools throughout software code creation, building and testing. Development tools
often include text editors, code libraries, compilers and test platforms. Without an IDE, a
developer must select, deploy, integrate and manage all of these tools separately. An IDE brings
many of those development-related tools together as a single framework, application or service.
The integrated toolset is designed to simplify software development and can identify and
minimize coding mistakes and typos. Some IDEs are open source, while others are commercial
offerings. An IDE can be a standalone application or it can be part of a larger package.
Visual Studio Code I- Visual Studio Code is a source-code editor developed by Microsoft for
Windows, Linux and macOS. It includes support for debugging, embedded Git control and
GitHub, syntax highlighting, intelligent code completion, snippets, and code refactoring. It is
highly customizable, allowing users to change the theme, keyboard shortcuts, preferences, and
install extensions that add additional functionality. The source code is free and open source and
released under the permissive MIT License. The compiled binaries are freeware and free for
private or commercial use. Visual Studio Code is based on Electron, a framework which is
used to deploy Node.js applications for the desktop running on the Blink layout engine.
Although it uses the Electron framework, the software does not use Atom and instead employs
the same editor component (codenamed "Monaco") used in Azure DevOps (formerly called
Visual Studio Online and Visual Studio Team Services). In the Stack Overflow 2019 Developer
Survey, Visual Studio Code was ranked the most popular developer environment tool, with
50.7% of 87,317 respondents claiming to use it.
Android Virtual Device - An Android Virtual Device (AVD) is a configuration that defines
the characteristics of an Android phone, tablet, Wear OS, Android TV, or Automotive OS
device that you want to simulate in the Android Emulator. The AVD Manager is an interface
you can launch from Android Studio that helps you create and manage AVDs.
Hot Reload - Flutter’s hot reload feature helps you quickly and easily experiment, build UIs,
add features, and fix bugs. Hot reload works by injecting updated source code files into the
running Dart Virtual Machine (VM). After the VM updates classes with the new versions of
fields and functions, the Flutter framework automatically rebuilds the widget tree, allowing
you to quickly view the effects of your changes.
Object Oriented Programming - Object-oriented programming (OOP) is a programming
paradigm based on the concept of "objects", which can contain data, in the form of fields (often
known as attributes or properties), and code, in the form of procedures (often known as
methods). A feature of objects is an object's procedures that can access and often modify the
data fields of the object with which they are associated (objects have a notion of "this" or
"self"). In OOP, computer programs are designed by making them out of objects that interact
with one another. OOP languages are diverse, but the most popular ones are class-based,
meaning that objects are instances of classes, which also determine their types.
Many of the most widely used programming languages (such as C++, Java, Python,
etc.) are multi-paradigm and they support object-oriented programming to a greater or lesser
degree, typically in combination with imperative, procedural programming. Significant objectoriented languages include Java, C++, C#, Python, PHP, JavaScript, Ruby, Perl, Object Pascal,
Objective-C, Dart, Swift, Scala, Common Lisp, MATLAB, and Smalltalk.
Hybrid Mobile Application - 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. Hybrid application features: Can
function whether or not the device is connected. Integration with a device’s file system.
Integration with Web-based services. An embedded browser to improve access to dynamic
online content. Most applications could be considered hybrid apps. Web apps, such as online
banking services, typically store some content locally; locally stored native apps, such as
Microsoft Word, also interface to the Internet.
Android Software Development Kit - The Android SDK (software development kit) is a set
of development tools used to develop applications for Android platform. Every time Google
releases a new version of Android, a corresponding SDK is also released. To be able to write
programs with the latest features, developers must download and install each version’s SDK
for the particular phone. The development platforms that are compatible with SDK include
operating systems like Windows (XP or later), Linux (any recent Linux distribution) and Mac
OS X (10.4.9 or later). The components of Android SDK can be downloaded separately. Third
party add-ons are also available for download.
Android - Android is a mobile operating system developed by Google. It is used by several
smartphones and tablets. Examples include the Sony Xperia, the Samsung Galaxy, and the
Google Nexus One.
The Android operating system (OS) is based on the Linux kernel. Unlike Apple's iOS, Android
is open source, meaning developers can modify and customize the OS for each phone.
Therefore, different Android-based phones often have different graphical user interfaces GUIs
even though they use the same OS.
Android phones typically come with several built-in applications and also support third-party
programs. Developers can create programs for Android using the free Android software
developer kit (SDK). Android programs are written in Java and run through a Java virtual
machine JVM that is optimized for mobile devices. The "Dalvik" JVM was used through
Android 4.4 and was replaced by Android Runtime or "ART" in Android 5.0. Users can
download and install Android apps from Google Play and other locations.
If you are unsure what operating system your phone or tablet uses, you can view the system
information by selecting "About" in the Settings menu. This is also a good way to check if your
device meets an app's system requirements. The name "Android" comes from the term android,
which is robot designed to look and act like a human.
iOS - iOS is a mobile operating system developed by Apple. It was originally named the iPhone
OS, but was renamed to the iOS in June, 2009. The iOS currently runs on the iPhone, iPod
touch, and iPad.
Like modern desktop operating systems, iOS uses a graphical user interface, or GUI. However,
since it is a mobile operating system, iOS is designed around touchscreen input, rather than a
keyboard and mouse. For example, applications, or "apps," can be opened by a single tap, rather
than a double-click. Different screens can be viewed by swiping your finger across the screen,
rather than clicking on open windows.
Since iOS is designed to be simple and easy to use, it does not include several features found
in a traditional operating system. For example, you cannot manage files and folders like you
can in Mac OS X or Windows. You also have limited access to iOS system settings. Instead of
modifying application preferences from within each program, most settings need to be adjusted
within the Settings app. Additionally, while you can run multiple programs at once, you can
only view one open program at a time.
While Apple's iOS provides a more basic user interface than Mac OS X, each new version adds
more features. For example, iOS 2 provided access to the App Store, which allowed users to
download and install third-party apps on their iPhones. iOS 3 added copy and paste
functionality and iPad support. iOS 4 was the first version to support multitasking and added
the GameCenter feature. iOS 5 introduced the Siri voice assistant (only available on the iPhone
4S), and provided new cloud connectivity features.
Vysor - There are plenty of ways to mirror your Android device onto your computer - and now
there's one more. But sadly most aren't as straightforward and convenient as we would like.
Koushik Dutta, a well-known Android developer, has attempted to make the process simpler
with his new app called Vysor. We tested the app and found it as good as advertised.
Vysor aims to make it easier for one to beam Android device's onscreen activities as well as
corresponding controls to a computer. And it does so without using a data connection, but over
a USB cable. You need to install the Vysor Chrome extension and connect your Android device
to the computer using a USB cable. If the device has ADB (Android Device Bridge) enabled
on it, Vysor will be able to detect it. If it doesn't, you can manually add it by clicking the Find
devices option in Vysor. Your device may prompt you with a confirmation dialogue box, tap
Ok.
In case you don't have ADB enabled on your device, go to Settings > About Device and tap on
the Android build number seven times, which as you might know, enables the developer mode
on Android devices. Once you get a confirmation, go back to Settings, and now you'll see the
Developer options. Go inside, and switch the toggle next to USB debugging as enabled. This
will activate ADB on your device.
Android Studio - Android Studio is the official integrated development environment (IDE)
for Android application development. It is based on the IntelliJ IDEA, a Java integrated
development environment for software, and incorporates its code editing and developer tools.
To support application development within the Android operating system, Android Studio uses
a Gradle-based build system, emulator, code templates, and Github integration. Every project
in Android Studio has one or more modalities with source code and resource files. These
modalities include Android app modules, Library modules, and Google App Engine modules.
Android Studio uses an Instant Push feature to push code and resource changes to a running
application. A code editor assists the developer with writing code and offering code
completion, refraction, and analysis. Applications built in Android Studio are then compiled
into the APK format for submission to the Google Play Store.
The software was first announced at Google I/O in May 2013, and the first stable build was
released in December 2014. Android Studio is available for Mac, Windows, and Linux desktop
platforms. It replaced Eclipse Android Development Tools (ADT) as the primary IDE for
Android application development. Android Studio and the Software Development Kit can be
downloaded directly from Google.
Xcode - The integrated development environment (IDE) from Apple that is used to create,
compile and test Mac OS X and iOS (iPhone/iPad/iPod) applications. Introduced with OS X
Version 10.3 (Panther) and evolving from Apple's Project Builder, Xcode supports writing in
C, C++, Objective-C, Swift, AppleScript, Java and Cocoa. See Mac OS X, Objective-C and
Cocoa.
Android Emulator - An emulator is a hardware device or software program that enables one
computer system (also known as a host) to imitate the functions of another computer system
(known as the guest). It enables the host system to run software, tools, peripheral devices and
other components which are designed for the guest system. Emulators can be of different types,
replicating things such as hardware, software, OS or CPU. However, in most cases hardware
architecture is emulated to provide an environment similar to a guest system. An emulator
regenerates an original computer environment with the help of software and hardware. The
process of creating an authentic emulator is complex and time consuming. But once created, it
provides the authenticity of the original computer environment/digital object without the need
for the original system.
Emulation techniques are applied to re-create the hardware and software environment of a
computer system on a different machine. Once the emulator is complete, users can access
applications or the OS on the emulated system and the original software can run on the host
system. To the users, the experience is the same as if they were using the original guest system.
iOS Stimulator - An iOS simulator is a software application for a personal computer which
creates a virtual machine version of a mobile device, such as a mobile phone, iPhone, other
smartphone, or calculator, on the computer. This may sometimes also be termed an emulator.
The mobile simulator allows the user to use features and run applications on the virtual mobile
on their computer as though it was the actual mobile device.
A mobile simulator lets you test a website and determine how well it performs on various types
of mobile devices. A good simulator tests mobile content quickly on multiple browsers and
emulates several device profiles simultaneously. This allows analysis of mobile content in realtime, locate errors in code, view rendering in an environment that simulates the mobile browser,
and optimize the site for performance.
Mobile simulators may be developed using programming languages such as Java, .NET and
JavaScript.
Google Play Store - Google Play (previously Android Market) is a digital distribution service
operated and developed by Google LLC. It serves as the official app store for the Android
operating system, allowing users to browse and download applications developed with the
Android software development kit (SDK) and published through Google. Google Play also
serves as a digital media store, offering music, books, movies, and television programs. It
previously offered Google hardware devices for purchase until the introduction of a separate
online hardware retailer, Google Store, on March 11, 2015, and it also offered news
publications and magazines before the revamp of Google News on May 15, 2018.
Applications are available through Google Play either free of charge or at a cost. They can be
downloaded directly on an Android device through the Play Store mobile app or by deploying
the application to a device from the Google Play website. Applications exploiting hardware
capabilities of a device can be targeted to users of devices with specific hardware components,
such as a motion sensor (for motion-dependent games) or a front-facing camera (for online
video calling). The Google Play store had over 82 billion app downloads in 2016 and has
reached over 3.5 million apps published in 2017. It has been the subject of multiple issues
concerning security, in which malicious software has been approved and uploaded to the store
and downloaded by users, with varying degrees of severity.
Google Play was launched on March 6, 2012, bringing together the Android Market, Google
Music, and the Google eBookstore under one brand, marking a shift in Google's digital
distribution strategy. The services included in the Google Play are Google Play Books, Google
Play Games, Google Play Movies & TV and Google Play Music. Following their re-branding,
Google has gradually expanded the geographical support for each of the services.
Apple App Store - Apple Store is a chain of retail stores owned and operated by Apple Inc.
The stores sell various Apple products, including Mac personal computers, iPhone
smartphones, iPad tablet computers, iPod portable media players, Apple Watch smartwatches,
Apple TV digital media players, software, and selected third-party accessories.
The first Apple Stores were originally opened as two locations in May 2001 by then-CEO Steve
Jobs, after years of attempting but failing store-within-a-store concepts. Seeing a need for
improved retail presentation of the company's products, he began an effort in 1997 to revamp
the retail program to get an improved relationship to consumers, and hired Ron Johnson in
2000. Jobs relaunched Apple's online store in 1997, and opened the first two physical stores in
2001. Despite initial media speculation that Apple would fail, its stores were highly successful,
by passing the sales numbers of competing nearby stores and within three years reached US$1
billion in annual sales, becoming the fastest retailer in history to do so. Over the years, Apple
has expanded the number of retail locations and its geographical coverage, with 506 stores
across 25 countries worldwide as of 2018. Strong product sales have placed Apple among the
top-tier retail stores, with sales over $16 billion globally in 2011.
In May 2016, Angela Ahrendts, Apple's current Senior Vice President of Retail, unveiled a
significantly redesigned Apple Store in Union Square, San Francisco, featuring large glass
doors for the entry, open spaces, and rebranded rooms. In addition to purchasing products,
consumers can get advice and help from "Creative Pros" – individuals with specialized
knowledge of creative arts; get product support in a tree-lined Genius Grove; and attend
sessions, conferences and community events, with Ahrendts commenting that the goal is to
make Apple Stores into "town squares", a place where people naturally meet up and spend
time. The new design will be applied to all Apple Stores worldwide, a process that has seen
stores temporarily relocate or close.
Many Apple Stores are located inside shopping malls, but Apple has built several stand-alone
"flagship" stores in high-profile locations. It has been granted design patents and received
architectural awards for its stores' designs and construction, specifically for its use of glass
staircases and cubes. The success of Apple Stores have had significant influence over other
consumer electronics retailers, who have lost traffic, control and profits due to a perceived
higher quality of service and products at Apple Stores. Apple's notable brand loyalty among
consumers causes long lines of hundreds of people at new Apple Store openings or product
releases. Due to the popularity of the brand, Apple receives a large number of job applications,
many of which come from young workers. Although Apple Store employees receive aboveaverage pay, are offered money toward education and health care, and receive product
discounts, there are limited or no paths of career advancement. A May 2016 report with an
anonymous retail employee highlighted a hostile work environment with harassment from
customers, intense internal criticism, and a lack of significant bonuses for securing major
business contracts.
GitHub - GitHub is an American company that provides hosting for software development
version control using Git. It is a subsidiary of Microsoft, which acquired the company in 2018
for $7.5 billion. It offers all of the distributed version control and source code management
(SCM) functionality of Git as well as adding its own features. It provides access control and
several collaboration features such as bug tracking, feature requests, task management, and
wikis for every project.
GitHub offers plans for free, professional, and enterprise accounts. Free GitHub accounts are
commonly used to host open source projects. As of January 2019, GitHub offers unlimited
private repositories to all plans, including free accounts. As of May 2019, GitHub reports
having over 37 million users and more than 100 million repositories (including at least 28
million public repositories), making it the largest host of source code in the world.
Review of Related Literature
Mobile Application Usage
Mobile applications for instructive establishments have done an incredible thing for
the understudies, making the learning procedure fun and simple. Likewise, the different
application highlights support commitment through learning focused exercises. Chen and
deNoyelles (2013) to improve mobile learning effectiveness, students and instructors need help
adopting more effective learning and teaching practices across content areas. Mobile
technologies are playing an increasingly important role in senior high school and college
students' academic lives. Devices such as smartphones, tablets, and e-book readers connect
users to the world instantly, heightening access to information and enabling interactivity with
others. Applications that run on these devices let users not only consume but also discover and
produce content.1 As such, they continue to transform how college students learn, as well as
influence their learning preferences, both within and outside the classroom (Chen and
deNoyelles, 2013). E-learning or ‘electronic’ learning has been dominating the learning process
since the start of Electronic age (2000). This helps people to learn the competencies or the
knowledge and skills essential for them to land a job or essential for them to study a particular
topic for their sole purpose. Being able to learn things online or offline through devices plays
a big role in the life of modern people. They can instantly search for a meaning or definition of
a thing through a mobile or desktop device. According to (Eric Enge, 2018), a survey of Mobile
VS Desktop usage, shows that 58% of the total network traffic in the work is done using a
mobile device while the remaining 42% is through the use of desktop device.
The dominance of Mobile application usage paves the way of mobile application
industry to develop mobile applications for various purposes. This offers a variety of service
from message, entertainment, utility such as using its alarm, calendar, calculator, camera, and
even playing mobile games. In line with this growing demand of mobile devices, the purpose
of using it for playing online application games for sports also increases. The rise of E-Sports
in 2017 has affected the growth of mobile game usage explicitly. In 2017, the market value of
the global mobile contents is 59.8 billion U.S. dollars and is expected to reach 74.4 billion in
2019. (Capcom, 2017) This statistic only shows that mobile application industry is
continuously growing thus creating more opportunity for future developers. The revenue of
mobile gaming app is expected to increase by 44% in 2020 from 41.5 billion U.S. dollars
revenue in 2016. (VentureBeat, 2016) Consumers spend 85% of their time on smartphones,
within apps, but only five apps see heavy use. Some may say this isn’t a sustainable future for
apps. However, app revenue is rapidly increasing and is expected to only continue on the same
upward trend in future. Mobile applications are changing the manner by which brand
advertisers are interfacing with purchasers. Research Verve kept running with Wildness,
uncovered 95% of in-store buys were affected by a versatile promotion; regardless of whether
that be an immediate commitment with the advertisement, or just an introduction that provoked
the purchaser to act. The ages that have never lived in a world without portable, are requesting
intelligent applications and promotions. The push towards pertinence and personalization is
critical. Ongoing examination led by Verve and Censuswide, found that buyers are twice as
prone to respond on versatile promotions dependent on their area, versus a nonexclusive
advertisement.
Mobile phones affect the manner in which that people work in the public eye, and
keeping in mind that there has not been a great deal of research on the impacts of cell phone
use, it has both constructive and pessimistic outcomes. Cell phones in their little league in
presence have changed the manner by which people are associating with one another. Cell
phones have given roads to people to remain associated on another level that does not rely upon
space or time, however is promptly open at whenever, anyplace. Cell phone has enabled
interpersonal organizations and connections to be reinforced just as new connections shaped
and have likewise permitted people everywhere throughout the world that, without the cell
phone could never approach the majority of the systems, get to data that they do through the
cell phone. Indeed, even inside such an apparently customary individuals of cell phone clients
Kumasi Polytechnic people group utilization of cell phones and their frames of mind toward
their cell phone use and as far as the degrees of coordinating cell phones into their lives. Larger
part of them use it to stay in contact with family and companions and to get to data. The most
and least utilized cell phone benefits on grounds of Kumasi Polytechnic are calling
administration and Multimedia informing administrations (MMS) individually. Greater part of
the respondents on Kumasi Polytechnic grounds accept that cell phones have positive effect on
society and have added to simple and fast access and move of data, upgrading correspondence
and improving connections just as cultural ties.
Normal Technologies to Necessities
The devices most commonly used in educational institutions fall into three main groups.
Digital media players such as Apple's iPod (or the smaller iPod Shuffle) are compact devices
which can play both audio and video. The iPod Touch, which evolved from the iPod, has been
branded "a pocket computer" due to its ability to perform a variety of tasks (Banister, 2010, p.
122). With internet access, and now even the ability to send text messages, the latest iPod
Touch – that is, the fourth generation iPod Touch running iOS5 software – differs from the
iPhone mainly in its inability to make telephone calls.
Smartphones, including Apple's iPhone, Android phones, BlackBerrys and Windows
phones, effectively combine a mobile phone, a digital media player, a digital audio recorder, a
digital camera, a PDA, and a computer in one small device. Most importantly of all, they offer
internet access, allowing users to download apps – that is, small pieces of specialized software
typically obtained through an app store – as well as browse, seek information, and
communicate online. A key advantage of smartphones is that many students already own these
devices and carry them with them at all times, although to fully capitalize on this advantage an
institution must have a BYOD/BYOT policy and teachers must be open to students using their
smartphones in the classroom.
Tablets, including Apple's iPad, share many similarities with smartphones (though not
the ability to make telephone calls) and laptops (though they typically work with apps rather
than traditional software). They generally, feature a touchscreen with an onscreen keyboard
and/or a digital pen, alongside the ability to take photos and make audio and video recordings,
all of which may be subsequently edited using appropriate apps downloaded from the internet.
The educational appeal of tablets is emphasized in the 2011 K-12 Horizon Report:
While the idea of cell phones in the classroom too often conjures up images of
disruption, tablets are a game changer; they encompass many of the tools smartphones offer
while presenting an ever expanding collection of tools for learning. (Johnson, Adams, &
Haywood, 2011, p.15)
The iPad in particular is being widely adopted in educational settings around the world,
though its use is still very much at an experimental stage. As a report of one university's
experience puts it: With their students, [faculty] have become co-learners and pioneers in the
classroom as they test out the power of this new technology. With no models to work from,
they had to explore, practice, and discover – on their own – the iPad's potential for expanding
learning. (Gawelek, Spataro, & Komarny, 2011, p.32)
It will not escape notice that many of the devices most widely discussed in the literature
are manufactured by Apple, a company which has been described as "poised to change the
learning landscape" (GSMA, 2011b). It offers an integrated suite of stable, attractive and easyto-use hardware and software, a constantly expanding number of third-party educational apps
available through the iTunes Store, and strong support for educational ventures. While other
mobile hardware and associated software is being trailed in educational institutions, Apple has
emerged as the field leader. In the broader field of e-learning, it has been recognized for some
time that there is a danger of technology being overemphasized at the expense of pedagogy and
content. A strong argument has been mounted that pedagogy and content should take
precedence (Dudeney, Hockly, & Pegrum, 2013; Motteram & Ioannou-Georgiou, 2007;
Pegrum, 2009) or at least be equally valued, as in the
Technological Pedagogical and Content Knowledge (TPACK) teacher training model
(Koehler, n.d.; Koehler & Mishra, 2008). Commentators in the field of m-learning have,
similarly, pointed out that what is important is not the technology per se (Melhuish & Falloon,
2010; Pachler et al., 2010) but how it is used to support teaching and learning. Like new
technologies in general, mobile devices can support a range of pedagogical approaches,
including traditional transmission and behaviorist approaches (e.g., Naismith, Lonsdale,
Vavoula, & Sharples, 2004). However, as in the broader field of e-learning (Pegrum, 2009), an
emerging consensus suggests that mobile technologies – notably the iPad – are particularly
suited to the promotion of social constructivism and related active, collaborative, studentcentred approaches (e.g., Cochrane & Bateman, 2010; Cochrane, Narayan, & Oldfield, 2011;
Kukulska-Hulme, Sharples, Milrad, Arnedillo-Sánchez, & Vavoula, 2009; Looi et al., 2010;
Melhuish & Falloon, 2010)
Cross-Platform Mobile Development
Developing a mobile application is a sophisticated process especially when you are
dealing with two or more operating systems. You have to learn both the programming
languages needed to create an application for different platforms. This cycle of development
takes longer time to develop a working mobile application. Learning two programming
languages for developing a single application is more difficult using the modern programming
languages such as Java and Kotlin for Android operating system, while Swift or Objective-C
for iOS operating system. Nevertheless, using the mentioned programming languages offers a
perk for developers. But if developers are in a hurry of creating a mobile application for 2 or
more operating systems, they need to find another solution.
Much related work can more often than not be recognized for an article that thinks about
different innovations. Be that as it may, in the event that it manages front line innovation, the
quantity of comparable papers shrivels drastically. General papers on the advancements
managed in this paper are referred to in the fitting segments, especially in Section 4. Therefore,
this segment surveys existing work that thinks about at least two methodologies for cross-stage
application improvement. (Heitkötter, Hanschke and Majchrzak, 2018)
Nowadays, native mobile applications (mobile apps) are targeted at specific mobile
platforms. This phenomenon imposes severe constraints, such as the use of different
development environments, technologies, and APIs (Application Programming Interfaces) for
each mobile platform, leading inevitably to a waste of development time and effort, and an
increased maintenance cost. So to solve this issue, frameworks for developing cross-platform
applications are created. Some of these are React-Native, Ionic, Xamarin, Cordova and Flutter.
As implied in the presentation, the difficulties for substance suppliers and programming
engineers when actualizing portable applications that can run flawlessly without alterations on
various stages are fantastic. Luckily, instruments and systems have prospered and advanced in
the course of the most recent few years also, can go far to help accomplish this without
bargaining quality, client experience and execution. One conceivable answer for tackle the
cross-stage issue is to utilize a procedure called cross-compilation: a cross-compiler isolates
the assemble condition from the objective condition, successfully decoupling a source from its
objective. In the portable advancement setting it functions as pursues: the structure gives a
stage autonomous API (application programming interface) utilizing a standard programming
language (like JavaScript, Ruby or Java). Designers utilize the Programming interface to
fabricate the versatile application, including the UI, information industriousness and business
rationale. The code is then prepared by a cross-compiler that changes it into stage explicit local
app(s) directed at the various stages that the application will keep running on. The product
antiquity created from this procedure can be sent and executed locally on the gadget. The
benefits of this procedure are: execution, as the application is running locally on the gadget;
improved client experience, since the application carries on like a customary application on the
client's environment; and full local access to a scope of gadget explicit capacities like
coordinated camera, sensors, and so forth. The enormous impediment is multifaceted nature
since cross-compilers can be hard to compose and should be kept steady with the divided
portable stages and working frameworks accessible. A variety of this procedure applies a
virtual machine (VM) to extract the objective stage subtleties from the application's running
code. A VM is a product usage of a machine (for example a portable gadget) that executes
projects like a genuine physical machine. In this situation, the system gives the API as well as
the runtime condition inside which the application will keep running on.
This runtime executes on the cell phone and empowers the interoperability between the
gadget's working framework and the portable application. This methodology imparts a few
points of interest to the cross-aggregation system, in spite of the fact that applications will in
general run a piece slower in such conditions due to the runtime elucidation inertness presented
when the VM is making an interpretation of information and directions to and from the hidden
host stage. The primary preferred position over cross-aggregation is movability since VMs are
simpler to keep up and progressively adaptable to broaden when new highlights are added to
the gadget and should be upheld by the API. Another undeniably well-known methodology is
to assemble the application as a versatile web application that will run on the client's portable
program. This includes utilizing standard web innovations like HTML, CSS and JavaScript to
construct the application and make it look and carry on like a local application. This is
conceivable because of the propelled capacities of HTML 5 and CSS 3, including implanted
SQL databases, neighborhood capacity, activities, canvas, web attachments and video
playback. In spite of the fact that HTML 5 is as yet a youthful innovation (the standard is yet
to be concluded) and portable programs may execute it in an unexpected way, its expanding
notoriety in rendering motors like the WebKit which powers the iPhone and Android portable
programs are making web applications look and act increasingly more like local applications.
For specific classes of use this methodology might bid as its modest and possibly
covers a wide scope of stages with few changes. This incorporates basic business applications
like news per users, digital books, versatile banking, social cooperation and email.
Anyway it probably won't be appropriate for exceptionally intuitive, CPU-serious an outwardly
rich application like games, enlarged reality programs and videoconferencing. The web
application runs either on an independent versatile internet browser (unadulterated web) or in
a program see inserted into a local application (half and half web). In this cross breed model,
the web application keeps running inside a slim wrapper local application which gives an
extension to the gadget's operational framework and administrations. The web application is
reserved locally on the gadget on establishment, expelling the requirement for a functioning
information association and improving its speed and responsiveness. The correspondence
between the web application and the local application ordinarily occurs over JavaScript by
means of custom fabricated APIs. This strategy attempts to bring the best of the two universes
into one single coordinated arrangement: adaptability of web applications with speed and
highlight wealth of local applications. At the point when appropriately built up this tends to
bring great outcomes despite the fact that since even versatile programs are not executed
similarly over gadgets this can likewise prompt irregularities which again can make the client
experience less fortunate what's more, limit the capacities of the application. The web approach
brings a few points of interest like streamlined sending and prompt accessibility since most
present day telephones accompany a program introduced and to run the application the client
simply needs the URL and a functioning information association. The huge downside would
be a more unfortunate client experience since now and again it is difficult to imitate a local UI
inside an internet browser utilizing just standard web components. Additionally access to
cutting edge gadget capacities like contacts, stockpiling and sensors is regularly limited albeit
still conceivable. At long last, utilizing web advances, sellers have made another route for
versatile sites to run like local introduced applications. The methodology has a wide range of
names, which can be befuddling, yet is ordinarily alluded to as 'versatile gadgets,' and it has
existed for quite a while on an assortment of versatile stages. The gadget idea was presented
some time before the versatile application and application store unrest and can be viewed as a
first cut at conveying little chunks of usefulness in a lightweight and natural path to the end
client. Well known portable gadget stages incorporate
Symbian/Nokia Web RunTime motor, Sony Ericsson's Xperia gadget motor,
BlackBerry's Widget SDK and Samsung's TouchWiz gadgets. A gadget is an intuitive device
that gives single-reason administration to the client, for example, appearing the most recent
news, current climate, date and time, schedule, word reference, guide, number cruncher or even
a language interpreter [Wikipedia]. On cell phones, gadgets regularly show up on the home
screen or then again virtual work area. A gadget keeps running on a gadget motor which is in
charge of giving fundamental framework and getting to the gadget assets. Gadget stages were
made at first for personal computers to give fast access to standard utilized highlights. Work
area gadgets were spearheaded by the famous Apple's Dashboard on the Mac OS pursued by
Windows Gadgets and Google Desktop.
Using Visual Studio Code IDE Instead of Android Studio to Avoid RAM hogging
Choosing the best Integrated Development Environment of IDE is the first thing a
developer does when developing an application. Using different IDEs for developing
application varies, depending on what application the developer intends to create and the
lightness and heaviness of the IDE, which is also a factor in choosing the best IDE. Optionally,
when developing an application, it is possible to create without using IDE, just configure the
command prompt to initiate the specific command. But this method is way too slow. It makes
the development cycle slow-paced due to the technicalities in installing, running and debugging
applications, which if using a raw command prompt technique and just a text editor will take a
very long time. This kind of problem is being addressed by IDEs. Integrated Development
Environment offers a variety of choices, automations, debugging, plugins and snippets to make
your development cycle fast.
In developing mobile applications especially when developing an Android and iOS
applications, the two IDEs are the Android Studio Code and Xcode. Android Studio Code is a
heavyweight IDE, means that it uses a huge amount of memory to run, thus making a cheap
computer lag when running an application in an emulator. An Integrated Development
Environment (IDE) is a software environment used to write other programs using tools like an
editor and compiler. This can prove to be an extremely useful tool when coding uses various
languages for many reasons. Examples of different IDE’s include Eclipse, Visual Studios, and
NetBeans. Each IDE has its own niche strengths and weaknesses. (Travarca, 2019) Code
understanding is one of the most accommodating apparatuses that an IDE can give, which is
the capacity for the program to translate what is composed. The program can change content
shading to speak to various classes, capacities, and factors. Microsoft Visual Studios offers
something many refer to as IntelliSense that can likewise foresee what you are composing and
completion your words for you. Other IDE's offer a comparable instrument called something
restrictive to their program.
Another component to IDE's is the capacity to troubleshoot your program. This is
ostensibly one of the most significant apparatuses to sending an effective program. Testing is
critical to ensure that your client does not encounter an occurrence where the code does not
deal with a particular mistake and crash the program. Investigating gives you the capacity to
go through the program, halting the code at determined focuses to check estimations of factors
or different premiums as required, to confirm that the code and capacities are running as
planned. At last a couple of more instruments that IDE's offer can be asset the executives and
the capacity to gather your code. When composing another program there are normally a wide
range of records that have been referenced in explicit way areas so it is significant for the
running of the program that these documents are in the right areas. Utilizing an IDE makes it
simple to see a visual portrayal of the area of these documents and makes it increasingly
justifiable for the client.
Visual Studio Code is the best alternative of using Android Studio, instead of using the
it as a main working ground for developing a mobile application will be replaced by Visual
Studio Code, a lightweight IDE for developing the app in this research. By using a real device
rather than a virtual device which is a feature of Android Studio, the development of mobile
application will be faster. Debugging an application on a real device is faster than on a virtual
device which will also cause lag. Moreover, using Android Studio as a preference will still
depend on the specification of the computer whether it can run Android Studio smoothly or
not. These are just a few of the tools and features that IDEs can provide for the programmer.
Different IDE’s may offer a different collection of tools as well as proprietary tools only
available to their environment.
Using Flutter over React Native in Cross-Platform Development
Developing mobile applications for Android and iOS separately has become a burden.
A general solution that considers developing, maintaining, testing and deploying for different
platform is an important topic. This kind of solution should be able to unify the process of
mobile application development.
React Native, developed by Facebook, has been regarded as a milestone in crossplatform SDK. A strong and active community has made React Native the most popular crossplatform framework. However, after considering the pros and cons of React Native, Google
has released Flutter as their approach to unite developments. Flutter is highly optimized to
adapt mobile environment and aims at providing the final solution to developers. After
experiencing the huge success of React in web development, Facebook decided to expand its
influence toward the mobile business. React Native started as an internal hackathon project
inside of Facebook and its initial goal was to unify the development process for iOS and
Android. However, as the Framework grows significantly, React Native Applicable can be
deployed to other platforms, such as Windows, Web and Tizen, effortlessly. React Native has
one of the strongest communities in open-source world. In fact, currently (March 2018) React
Native is the third most starred project on GitHub. Not only individual developers and
Facebook are contributing to it, but also numbers of tech giants, such as Microsoft and
Samsung, play important roles on developing React Native. One of the most fascinating natures
of React Native is it brings modern web techniques to mobile, without compromising much on
features and performance. Even though React Native applications are mostly written in
JavaScript and operate on JavaScript core, it does not mean that React Native applications are
hybrid or html5 applications. The usage of underlying native interface allows React Native
application to render views and access native hardware, such as camera and storage.
Flutter is a cross-platform framework that aims at developing high-performance mobile
applications. Flutter is publicly released at 2016 by Google. Not only can Flutter applications
run on Android and iOS, but also Fuschia, Google’s next generation operating system, chooses
Flutter as its application-level framework. Flutter is unique. Rather than utilizing web views or
relying on the device’s OEM widgets, Flutter renders every view components using its own
high-performance rendering engine. This nature provides possibility to build applications that
are as high-performance as native applications can be. Architecture wise, the engine’s C/C++
code is compiled with Android’s NDK and LLVM on iOS respectively, and any Dart code is
AOT-compiled into native code during compilation. Flutter supports stateful hot-reload while
developing, which is considered as a major factor to boost development cycle. Stateful hotreload is essentially implemented by injecting updated source code into the running Dart VM
without changing the inner structure of the application, thus all transitions and actions of the
application will be preserved after hot-reloading.
React Native, with its pioneering work, has actively impacted the followers to certain
extend. Pathbreaking concepts from React, such as one-directional dataflow and JSX, are well
adopted and digested in React Native. With its strong community, React Native is no doubt the
best choice to start a cross-platform application from scratch. Flutter has a bright future.
Sophisticated design from React Native are well preserved with Flutter’s own evolvement. The
consistency and tidiness in syntax and SDK level does bring joy to developers. Rendering
widgets through a dedicate engine boosts the performance and eliminates pollutions from the
OEMs.
To conclude, both React Native and Flutter have greatly proven the value of crossplatform mobile application framework. The efficiency and convenience regarding to
development can surely boost the speed of pushing the product to the market. Producing a high
quality and beautiful application for all mobile platforms has never been this easy before. As a
trade-off, certain performance loss, when comparing to native application, is reasonably
acknowledged and allowed.
Scope and Limitation
This study aims to solve the rampant problem of Intellisense Institute of Technology’s
students in passing the NCII assessment, but not concerned about other individuals who want
to use the mobile application as review material to pass their assessment as well. The
respondents of this research are the students of IIT raging from grade 12 to second year college.
The data are gathered through conducting a survey regarding the current students who didn’t
pass the assessment of their respective national certifications last year.
The research locale is only in IIT, where the students who failed to pass the assessment
for the previous year were surveyed to come up with a legitimate information which were used
in formulating the hypothesis. The data belong to students specifically from grade 12
Trustworthy, Grade 12 Team Player, first year college and second year college. The age of the
respondents is also recorded to determine the age range of the NCII takers. The total number
of the respondents is 67. This is the exact number of respondents recorded in the survey.
Generally, 56% of the total number of NCII takers failed to pass the exam last year.
This study limits on using it as a reference for creating a research which will be used
for commercial purposes. The researcher is only a grade 12 students whose background in
programming is not sufficient for code enhancement of the application. Overall, the research
will determine whether the hybrid mobile application which will be used as a guide for NCII
takers will work or not.
Significance of the Study
The study of creating a hybrid mobile application entitled “Intellisense Institute of
Technology for NCII Certification Guide” can be a learning paradigm in the secondary level
and vocational schools to enhance the students’ knowledge and entrepreneurial skills as well.
The project’s goal is designed to help students pass their NCII assessment, develop
employability skills, be confident in participating career interviews and participate in a career
pathway in preparation for post-secondary education or careers in the programming, animation,
graphic designing and customer service sector after graduating from senior high school or
college.
Moreover, this study can also be a resource for the school to depend with when
conducting their own research about the students’ incapability of passing NCII assessments.
This study is significant because students in technical vocational and livelihood strand can use
the solution which is the mobile application for their study.
Hypothesis
Some of the Intellisense Institute of Technology students failed to pass the NCII
assessment last year due to their lack of time for studying and lack of review materials for
studying. If there’s a mobile application which they can use for reviewing, then the assessment
will be easy for them as all the information needed are already in the application.
Research Design
The study solving the problem by creating a mobile application for IIT students tends
to solve by providing the data needed by the students.