Cordova Features: Chapter 2: System Analysis Existing System
Cordova Features: Chapter 2: System Analysis Existing System
Cordova Features: Chapter 2: System Analysis Existing System
Existing System:
Cordova:
Cordova is a platform for building hybrid mobile applications using HTML, CSS and JavaScript.
The official documentation gives us the definition of the Cordova −
"Apache Cordova is an open-source mobile development framework. It allows you to
use standard web technologies such as HTML5, CSS3, and JavaScript for crossplatform
development, avoiding each mobile platform native development language.
Applications execute within wrappers targeted to each platform, and rely on standards-
compliant API bindings to access each device's sensors, data, and network status."
Cordova Features
Let us now understand the features of Cordova in brief.
Cordova Plugins
Cordova offers API that will be used for implementing native mobile functions to our JavaScript
app.
License
Cordova is licensed under the Apache License, Version 2.0. Apache and the Apache feather logos
are trademarks of The Apache Software Foundation.
Cordova Advantages
We will now discuss the advantages of Cordova.
Cordova offers one platform for building hybrid mobile apps so we can develop one app that
will be used on different mobile platforms – IOS, Android, Windows Phone, Amazon-fireos,
blackberry, Firefox OS, Ubuntu and tizien.
Software Project Management | TYBSCIT |Saurabh Jadhav
It is faster to develop hybrid app then native app so Cordova can save on the development
time.
Since we are using JavaScript when working with Cordova, we don't need to learn platform
specific programming languages.
There are many community add-ons that can be used with Cordova, these have several
libraries and frameworks, which are optimized for working with it.
Cordova Limitations
Following are the limitations of Cordova.
Hybrid apps are slower than native ones so it is not optimal to use Cordova for large apps
that require lots of data and functionality.
Cross browser compatibility can create lots of issues. Most of the time we are building apps
for different platforms so the testing and optimizing can be time consuming since we need to
cover large number of devices and operating systems.
Some plugins have compatibility issues with different devices and platforms. There are also
some native APIs that are not yet supported by Cordova.
Android
Android Studio is the official Integrated Development Environment (IDE) for Android
app development, based on IntelliJ IDEA. On top of IntelliJ's powerful code editor and
developer tools, Android Studio offers even more features that enhance your productivity when
building Android apps, such as:
• A flexible Gradle-based build system
• A fast and feature-rich emulator
• A unified environment where you can develop for all Android devices
• Instant Run to push changes to your running app without building a new APK
Code templates and GitHub integration to help you build common app features and
import sample code
• Extensive testing tools and frameworks
• Lint tools to catch performance, usability, version compatibility, and other problems
• C++ and NDK support
• Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud
Messaging and App Engine
Each project in Android Studio contains one or more modules with source code files
and resource files. By default, Android Studio displays your project files in the Android project
view, as shown in figure 1. This view is organized by modules to provide quick access to your
project's key source files.
All the build files are visible at the top level under Gradle Scripts and each app module
Software Project Management | TYBSCIT |Saurabh Jadhav
FIREBASE :
Firebase can power your app's backend, including data storage, user authentication,
static hosting, and more. Focus on creating extraordinary user experiences. We will take care
of the rest. Build cross-platform native mobile and web apps with our Android, iOS, and
JavaScript SDKs. You can also connect Firebase to your existing backend using our server side
libraries or our REST API.
Firebase Features:
• Real-time Database − Firebase supports JSON data and all users connected to it
receive live updates after every change.
• Authentication − We can use anonymous, password or different social authentications.
• Hosting − The applications can be deployed over secured connection to Firebase
servers.
Firebase Advantages:
• It is simple and user friendly. No need for complicated configuration.
• The data is real-time, which means that every change will automatically update
connected clients.
• Firebase offers simple control dashboard.
• There are a number of useful services to choose.
Firebase Limitations:
• Firebase free plan is limited to 50 Connections and 100 MB of storage.
JAVA
Java offers higher cross- functionality and portability as programs written in one
platform can run across desktops, mobiles, embedded systems.
Java is a mature language, therefore more stable and predictable. The Java Class
Library enables cross-platform development.
Being highly popular at enterprise, embedded and network level, Java has a large
active user community and support available.
Java has powerful development tools like Eclipse SDK and NetBeans which have
debugging capability and offer integrated development environment.
Requirement Analysis
- act as a timer
-play guided meditation as music player but online
-upload section for admin
-sending to admin section
-feed for motivation post like instagram
-follow categories
-acess notification panel
Non-functional Requirements:
I.
Security:
The application is secure enough, so as not to compromise any data in the database.
The patient and administrator accounts are duly password protected in order to ensure
security of each account and also to maintain integrity of the information it holds.
The privileges attached to each account are strictly adhered to and are not vulnerable to
any kind of circumvention.
II.
Integrity:
Data Integrity and referential integrity are maintained in the database tables and
interfaces.
IV.
Input-Output fault trapping and bad fault trapping, both are handled immediately.
Software Project Management | TYBSCIT |Saurabh Jadhav
Usability:
Look and feel of the screen elements on the interface, their density, layout, flow,
colours, keyboard shortcuts, are simple and easy to follow and use.
Hardware Requirements
PROCESSOR : i3 processor based computer minimum
RAM : 4GB or more
HDD : 500GB Hard Disk
PERIPHERAL DEVICES
:
Mouse,keyboard,LAN
Justification of Platform:
How firebase will benefit to project:
1. Real-time Database Helps to Store and Synchronize Data
The cloud-hosted NoSQL database is offered by Firebase real-time database that helps you store
and synchronize data between the clients. This indeed makes it easier for the developers to access
the data using any of the devices and helps developing collaborative feature.
Another advantage of a real-time database for the developers is that they do not need the support of
backend to build apps as it comes with SDKs for various platforms, including Android, iOS and
Web. It assists in the execution of backend code responding to events activated by databases.
Furthermore, it is optimized for offline use too.
5. Firebase Authentication
Nowadays, most of the apps have the login facility and the developer aims to simplify and secure it
better. Therefore, the support of Firebase Authentication is there to do that task with an easy sign-in
process.
It also provides identity solution for the emails, passwords and other important apps such as
Facebook, Twitter or Instagram. The Firebase UI is also flexible, customized and drop-in dealing
with the UI flow of the users. There is no compromise from the security point of view.
The ML kit has ready-to-use APIs for various mobile functionalities such as detecting the face,
identifying the text, barcode scanning and labeling images etc. You have a choice between on-
device and Cloud APIs that can be selected according to your needs.