Vous êtes sur la page 1sur 5

Hands-on Exercise: Experience the Cloud

Here is a fantastic example of Cloud, Big Data and Machine Learning at work. Why
don't you head over to Google Cloud Natural Language APIand copy-paste some text
and get back sentiment analysis, entity and intent extraction. This is offered as
an on-demand API that is powered by massive, distributed Natural Language
Processing AI algorithms that have been on massive language datasets stored on Big
Data platforms.

Your Exercise: Type a paragraph of text, perhaps copied from a news article, and
experience these technologies at work

www.ap-institute.com

Data Ingestion is the process of obtaining & importing data for immediate use or
storage. This could happen in real time (Data Streaming) or in batch mode. Some
tools in this space: Apache Sqoop, Flume, Gobblin framework, Kinesis, Splunk
Lambda architecture can be employed to ingest data streams to view in real-time and
process batch data simultainteously in a single architecture.

Introduction to Mobile Apps


Hello There! All that looks same outside, might not always be same inside.

Welcome to the world of mobile app and its anatomy. In this course, let�s
understand the fundamentals of Native, Web and Hybrid Apps; the differences,
advantages and disadvantages.

Native apps which you might think of as conventional mobile app.


Web apps which are written in HTML and run inside the browser.
Hybrid apps which are a interesting combination of the two approaches, which is
especially important for the enterprise context.

===

Known Native Apps


Known Native Apps
Let's take a look at few prominent native apps for iPhone and Android. As you can
notice, few are known communication and collaboration apps, our own enterprise
apps, and few popular gaming apps.

The thing that all of these apps have in common is that, they are all purely
native. But, what does that actually mean?

===

Characteristics of Native Apps


Characteristics of Native Apps
A binary executable image that is explicitly downloaded and stored on the file
system of the mobile device.
This installation process can be initiated by the user or in some cases by the IT
department of an enterprise.

===

Characteristics of Native Apps


Characteristics of Native Apps
Distributed through popular app store or marketplace of the device, or via an
enterprise distributed mechanism.

Examples: iTunes, Google PlayS tore, Windows Store, TCS appmart, etc.

===

Characteristics of Native Apps


Characteristics of Native Apps
Executed directly by the operating system (OS).
Launched from the home screen.
Doesn�t require another container app to run it.
Makes explicit use of OS APIs.
Many cases, although not always! Native app has a look and feel which is typical of
that specific mobile OS.

===

Native App Development


Native App Development
Obtaining a binary executable imaging and preparing it for distribution is
basically same for all the leading mobile operating systems.
The developers write the source code of the application.
Create additional resources such as images, audio segments, configuration info and
various declaration files.

===

Native App Development


Native App Development
Use the tools provided by the operating system vendor to compile the source code.
Link it in order to create an executable in binary form.
Package the binary executable together with the resources of the app.
Package can be distributed to the mobile devices through app stores or other means.

===

SDK for Mobile OS


SDK for Mobile OS
The tools, few utilities and files are usually called the SDK of the mobile OS.
The SDK is platform-specific and each mobile OS comes with its own unique tools.
But the process is quite similar for all of them!
Let�s see few examples now!

===

Native App Development - iOS


Native App Development - iOS
Language : Objective-C, C, C++

Tool : Xcode

Executable Files : .ipa

Application Stores : Apple iTunes

===

Native App Development - Android


Native App Development - Android
Language : Java (Some C, C++)

Tool : Android SDK

Executable Files : .apk

Application Stores : Android Market (Google Play Store)

===

High-level APIs and Built-in Apps


High-level APIs and Built-in Apps
Web browser, Calendar, Contacts, Photo Album, Calls, and Messages.
The OS comes with built-in native apps that let users directly access these
services.
The operating system provides the GUI Toolkit which comes with its own set of user
interface components such as button, slider, menu, tabs etc.
These components inherit the look and feel of the mobile OS that usually provide a
very smooth user experience.

===

Native Apps - Interaction with Mobile


Native Apps - Interaction with Mobile

===

Native Apps � Upside, However!


Native Apps � Upside, However!
Upside:

Executed directly
Propriety operating-system APIs
App gets access to all the different hardware components of the device
Very Fast and Powerful
Let you do amazing things and really tap the full potential of the mobile device.
However,

These APIs are proprietary and each mobile OS provides its own unique APIs for each
function.
The differences in APIs make porting of an app to multiple devices expensive.

===

Native Apps � Why Not?


Native Apps � Why Not?
Even though the overall process is similar for all the platforms the specifics are
different for each one.
When we write the code for one platform we can't use it on others.
Similar approach, but different source code and expertise results in expensive
development and maintenance!

===

Known Web Apps


Known Web Apps
Today's mobile devices come with very powerful browsers with support for Html5,
CSS3 and advanced JavaScript.
Examples: Google, WikiPedia, YouTube, and Amazon etc.

===

Characteristics of Pure Mobile Web Apps


Characteristics of Pure Mobile Web Apps
Pure mobile web apps which are written entirely in HTML, CSS, JavaScript, and
served from a web server but are almost indistinguishable to the user from native
apps.
Installed on the homepage and launched like native apps.
Interactive user interface which is highly optimized for touch screens.
Client Side rendering
Available Offline

===

Characteristics of Pure Mobile Web Sites


Characteristics of Pure Mobile Web Sites
Alternate to pure mobile web app are pure mobile web sites.
Visited by browsing
Static, navigational UI
Generic Look and Feel
Server Side Rendering
Require Network Connectivity
3 of 9

===

JavaScript Toolkits for Mobile Web App UI


JavaScript Toolkits for Mobile Web App UI
JavaScript Toolkit Library
Sencha Touch
JQuery Mobile
These are very reminiscent of the look and feel of native apps.
Both execute entirely within the browser on the mobile device.
Makes use of the newest JavaScript, CSS3 andHTML5` features available in browsers.

===

HTML5 & CSS3


HTML5 & CSS3
HTML5 is the transition of HTML from a page definition language into a powerful
technology for creating browser based apps.

HTML5 provides many client-side graphics capabilities with the canvas element SVG
and things like rounded corners.

HTML5 and CSS3 has several mechanisms that enable offline support such as
application caching.

Offline storage data URLs also make it easy for apps to perform client side
rendering without contacting the server.

Many more for you to Explore!

===

Web Apps - Why?


Entirely written using web technologies
HTML, CSS and JavaScript
Code is executed by the browser, not by the OS
Several ways to launch the app
Typing URL, Clicking Hyperlink
Scanning QR Code
Home screen shortcut
Installation is optional
Easily support multiple mobile OSs and can be extended with device-specific
enhancements to make them behave more like native apps.

===

Web Apps - Interaction with Mobile


Web Apps - Interaction with Mobile
Web apps run within the browser and the browser is itself a native app.
App has direct access to the OS APIs but it only exposes some of them to Web Apps.
One specific element of the browser is Rendering engine the heart of the browser.
This rendering engine is called Webkit and it's an open source project.
Almost all the leading smartphone vendors are using the same.

===

Native vs Web Apps


Native vs Web Apps

===

Characteristics of Hybrid Apps


Characteristics of Hybrid Apps
Native App with embedded HTML.
All the benefits of native App.
Full access to APIs.
App store presence
Selected portion of the apps are written in web technologies
The web portion of the app can either be downloaded from the web or packaged within
app.

===

Hybrid Apps � Interaction with mobile Device


Hybrid Apps � Interaction with mobile Device
Hybrid apps have two separate components
Native portion
Web Portion
The native portion of the app has control over the rendering engine and it creates
a bridge that allows the web portions of the app to access all the OS APIs.
Custom Bridge
Ready-made such as PhoneGap

===

Vous aimerez peut-être aussi