Android Studio Is The Official

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Android Studio

Android Studio is the official integrated development


environment (IDE) for Google's Android operating system,
built on JetBrains' IntelliJ IDEA software and designed
specifically for Android development. It is available for
download on Windows, macOS and Linux based operating
systems. It is a replacement for the Eclipse Android
Development Tools (ADT) as the primary IDE for native
Android application development.

Android Studio was announced on May 16, 2013 at


the Google I/O conference. It was in early access preview
stage starting from version 0.1 in May 2013, then entered
beta stage starting from version 0.8 which was released in
June 2014. The first stable build was released in December
2014, starting from version 1.0.
Since 7 May 2019, Kotlin is Google’s preferred language
for Android app development. Still, other languages are
supported, including by Android Studio.

Features
The following features of android studio

 Gradle-based build support

 Android-specific refactoring and quick fixes


 Lint tools to catch performance, usability, version
compatibility and other problems

 ProGuard integration and app-signing capabilities

 Template-based wizards to create common Android


designs and components

 A rich layout editor that allows users to drag-and-


drop UI components, option to preview layouts on
multiple screen configurations

 Support for building Android Wear apps

 Built-in support for Google Cloud Platform, enabling


integration with Firebase Cloud Messaging (Earlier
'Google Cloud Messaging') and Google App Engine

 Android Virtual Device (Emulator) to run and debug


apps in the Android studio.

Android Studio supports all the same programming


languages of IntelliJ (and CLion) e.g. Java, C++, and more
with extensions, such as Go; and Android Studio 3.0 or
later supports Kotlin and "all Java 7 language features and
a subset of Java 8 language features that vary by platform
version." External projects backport some Java 9 features.
While IntelliJ that Android Studio is built on supports all
released Java versions, and Java 12, it's not clear to what
level Android Studio supports Java versions up to Java 12
(the documentation mentions partial Java 8 support). At
least some new language features up to Java 12 are usable
in Android.

Firebase

Firebase is a mobile and web application development


platform developed by Firebase, Inc. in 2011, then
acquired by Google in 2014.As of October 2018, the
Firebase platform has 18 products,which are used by 1.5
million apps.

History

Firebase evolved from Envolve, a prior startup founded by


James Tamplin and Andrew Lee in 2011. Envolve provided
developers an API that enables the integration of online
chat functionality into their websites. After releasing the
chat service, Tamplin and Lee found that it was being used
to pass application data that weren't chat messages.
Developers were using Envolve to sync application data
such as game state in real time across their users. Tamplin
and Lee decided to separate the chat system and the real-
time architecture that powered it. They founded Firebase
as a separate company in September 2011and it launched
to the public in April 2012.
Firebase's first product was the Firebase Real-time
Database, an API that synchronizes application data
across iOS, Android, and Web devices, and stores it on
Firebase's cloud. The product assists software developers
in building real-time, collaborative applications.
In May 2012, one month after the beta launch, Firebase
raised $1.1M in seed funding from venture
capitalists Flybridge Capital Partners, Greylock Partners,
Founder Collective, and New Enterprise Associates.
In June 2013, the company further raised $5.6M in Series
A funding from venture capitalists Union Square
Ventures and Flybridge Capital Partners.
In 2014, Firebase launched two products. Firebase
Hosting and Firebase Authentication. This positioned the
company as a mobile backend as a service.
In October 2014, Firebase was acquired by Google.
In October 2015, Google acquired Divshot to merge it with
the Firebase team.
In May 2016, at Google I/O, the company's annual
developer conference, Firebase expanded its services to
become a unified platform for mobile developers. Firebase
now integrates with various other Google services,
including Google Cloud Platform, AdMob, and Google
Ads to offer broader products and scale for
developers. Google Cloud Messaging, the Google service
to send push notifications to Android devices, was
superseded by a Firebase product, Firebase Cloud
Messaging, which added the functionality to deliver push
notifications to iOS and Web devices.
In January 2017, Google acquired Fabric
and Crashlytics from Twitter to add those services to
Firebase.
In October 2017, Firebase launched Cloud Firestore, a
realtime document database as the successor product to
the original Firebase Realtime Database.

Firebase Realtime Database

Store and sync data with our NoSQL cloud database. Data
is synced across all clients in realtime, and remains
available when your app goes offline.

The Firebase Realtime Database is a cloud-hosted


database. Data is stored as JSON and synchronized in
realtime to every connected client. When you build cross-
platform apps with our iOS, Android, and JavaScript
SDKs, all of your clients share one Realtime Database
instance and automatically receive updates with the
newest data.
Key capabilities

Instead of typical HTTP requests, the Fireba


Realtime Database uses data synchronization—eve
time data changes, any connected device receives th
Realtime
update within milliseconds. Provide collaborative a
immersive experiences without thinking abo
networking code.

Firebase apps remain responsive even when offline


because the Firebase Realtime Database SDK persist
Offline your data to disk. Once connectivity is reestablished,
the client device receives any changes it missed,
synchronizing it with the current server state.

The Firebase Realtime Database can be accessed


directly from a mobile device or web browser; there’s
Accessible
no need for an application server. Security and data
from Client
validation are available through the Firebase Realtim
Devices
Database Security Rules, expression-based rules that
are executed when data is read or written.
With Firebase Realtime Database on the Blaze pricin
plan, you can support your app's data needs at scale b
splitting your data across multiple database instance
Scale across in the same Firebase project. Streamline
multiple authentication with Firebase Authentication on your
databases project and authenticate users across your database
instances. Control access to the data in each database
with custom Firebase Realtime Database Rules for
each database instance.

How does it work?

The Firebase Realtime Database lets you build rich,


collaborative applications by allowing secure access to the
database directly from client-side code. Data is persisted
locally, and even while offline, realtime events continue to
fire, giving the end user a responsive experience. When the
device regains connection, the Realtime Database
synchronizes the local data changes with the remote
updates that occurred while the client was offline, merging
any conflicts automatically.
The Realtime Database provides a flexible, expression-
based rules language, called Firebase Realtime Database
Security Rules, to define how your data should be
structured and when data can be read from or written to.
When integrated with Firebase Authentication, developers
can define who has access to what data, and how they can
access it.
The Realtime Database is a NoSQL database and as such
has different optimizations and functionality compared to
a relational database. The Realtime Database API is
designed to only allow operations that can be executed
quickly. This enables you to build a great realtime
experience that can serve millions of users without
compromising on responsiveness. Because of this, it is
important to think about how users need to access your
data and then structure it accordingly.

It’s a Realtime Database


Real-time data is the way of the future. Nothing compares to
it.

Most databases require you to make HTTP calls to get and


sync your data. Most databases give you data only when you
ask for it.

When you connect your app to Firebase, you’re not


connecting through normal HTTP. You’re connecting
through a WebSocket. WebSockets are much, much faster
than HTTP. You don’t have to make individual WebSocket
calls, because one socket connection is plenty. All of your
data syncs automagically through that single WebSocket as
fast as your client’s network can carry it.

Firebase sends you new data as soon as it’s updated. When


your client saves a change to the data, all connected clients
receive the updated data almost instantly.

It’s File Storage


Firebase Storage provides a simple way to save binary files — 
most often images, but it could be anything — to Google
Cloud Storage directly from the client!!!

Firebase Storage has it’s own system of security rules to


protect your GCloud bucket from the masses, while granting
detailed write privileges to your authenticated clients.

It’s Authentication
Firebase auth has a built in email/password authentication
system. It also supports OAuth2 for Google, Facebook,
Twitter and GitHub. We’ll focus on email/password
authentication for the most part. Firebase’s OAuth2 system
is well-documented and mostly copy/paste.

If you’ve ever written an authentication system, let’s


commiserate for a moment. Custom authentication is
terrible. I will never write an auth system again for as long as
I live. I fell in love with Firebase Auth at first sight, and the
flame has never wavered. Sometimes I get frustrated.
Sometimes we fight. But I never forget the cold, dark abyss
of a custom auth system. I count my blessings.

Oh, and Firebase Auth integrates directly into Firebase


Database, so you can use it to control access to your data. I’m
writing this as if it’s an afterthought. It’s not. It’s the second
reason that you will love Firebase Auth.

It’s Hosting
Firebase includes an easy-to-use hosting service for all of
your static files. It serves them from a global CDN with
HTTP/2.

And to make your development particularly painless,


Firebase hosting utilizes Superstatic, which you can run
locally for all of your testing. I run Superstatic
as BrowserSync middleware. The following implementation
uses Gulp, but Gulp is purely optional.

The BrowserSync + Superstatic development environment is


slick. BrowserSync handles reloading your development app
across all connected devices and Superstatic replicates
Firebase hosting locally in such a way that you can deploy
straight to Firebase for production use.

It’s a Fully-Featured App Platform


The Firebase team has integrated a bunch of new and
existing Google products with Firebase. I don’t plan to cover
these features in detail quite yet…

A bunch of these features apply to iOS and Android but not


to web.

 Remote Config

 Test Lab

 Crash

 Notifications

 Dynamic Links

 AdMob

Firebase Pros & Cons


It’s not all roses.

I mean, it’s mostly roses, but watch the thorns.

Pros
 Email & password, Google, Facebook, and Github
authentication

 Realtime data
 Ready-made api

 Built in security at the data node level

 File storage backed by Google Cloud Storage

 Static file hosting

 Treat data as streams to build highly scalable


applications

 Don’t worry about your infrastructure!

Cons
 Limited query abilities due to Firebase’s data stream
model

 Traditional relational data models are not applicable to


NoSQL; therefore, your SQL chops will not transfer

 No on-premise installation
WordPress

WordPress is a free and open-source content


management system (CMS) based
on PHP & MySQL. Features include a plugin
architecture and a template system. It is most associated
with blogging but supports other types of web content
including more traditional mailing lists and forums, media
galleries, and online stores. Used by more than 60 million
websites,including 33.6% of the top 10 million websites as
of April 2019,WordPress is the most
popular website management system in use. WordPress
has also been used for other application domains such
as pervasive display systems (PDS).
WordPress was released on May 27, 2003, by its
founders, Matt Mullenweg and Mike Little, as
a fork of b2/cafelog. The software is released under
the GPLv2 (or later) license.
To function, WordPress has to be installed on a web
server, either part of an Internet hosting
service like WordPress.com or a computer running the
software package WordPress.org in order to serve as
a network host in its own right. A local computer may be
used for single-user testing and learning purposes.

Overview
"WordPress is a factory that makes webpages"is a core
analogy designed to clarify what WordPress is & does. It
stores your content that allows you to create & publish
webpages only requiring a domain and a hosting site to
work.
WordPress has a web template system using a template
processor. Its architecture is a front controller, routing all
requests for non-static URIs to a single PHP file which
parses the URI and identifies the target page. This allows
support for more human-readable permalinks.
Themes
WordPress users may install and switch among
different themes. Themes allow users to change the look
and functionality of a WordPress website without altering
the core code or site content. Every WordPress website
requires at least one theme to be present and every theme
should be designed using WordPress standards with
structured PHP, valid HTML(HyperText Markup
Language), and Cascading Style Sheets (CSS). Themes may
be directly installed using the WordPress "Appearance"
administration tool in the dashboard, or theme folders
may be copied directly into the themes directory, for
example via FTP. The PHP, HTML and CSS found in
themes can be directly modified to alter theme behavior,
or a theme can be a "child" theme which inherits settings
from another theme and selectively overrides features.
WordPress themes are generally classified into two
categories: free and premium. Many free themes are listed
in the WordPress theme directory, and premium themes
are available for purchase from marketplaces and
individual WordPress developers. WordPress users may
also create and develop their own custom themes. The free
theme Underscores created by the WordPress developers
has become a popular basis for new themes.

Plugins
WordPress' plugin architecture allows users to extend the
features and functionality of a website or blog. As of
February 2019, WordPress.org has 54,402 plugins
available, each of which offers custom functions and
features enabling users to tailor their sites to their specific
needs. However, this does not include the premium
plugins that are available (approximately 1,500+), which
may not be listed in the WordPress.org repository. These
customizations range from search engine optimization,
to client portals used to display private information to
logged in users, to content management systems, to
content displaying features, such as the addition
of widgets and navigation bars. Not all available plugins
are always abreast with the upgrades and as a result they
may not function properly or may not function at all. Most
plugins are available through WordPress themselves,
either via downloading them and installing the files
manually via FTP or through the WordPress dashboard.
However, many third parties offer plugins through their
own websites, many of which are paid packages.
Web developers who wish to develop plugins need to learn
WordPress' hook system which consists of over 300 hooks
divided into two categories: action hooks and filter hooks.

Mobile applications
Native applications exist for WebOS,
Android, iOS (iPhone, iPod Touch, iPad), Windows Phone,
and BlackBerry. These applications, designed
by Automattic, have options such as adding new blog posts
and pages, commenting, moderating comments, replying
to comments in addition to the ability to view the stats.
Other features
WordPress also features integrated link management;
a search engine–friendly, clean permalink structure; the
ability to assign multiple categories to posts; and support
for tagging of posts. Automatic filters are also included,
providing standardized formatting and styling of text in
posts (for example, converting regular quotes to smart
quotes). WordPress also supports
the Trackback and Pingback standards for displaying links
to other sites that have themselves linked to a post or an
article. WordPress posts can be edited in HTML, using the
visual editor, or using one of a number of plugins that
allow for a variety of customized editing features.

Multi-user and multi-blogging

Prior to version 3, WordPress supported one blog per


installation, although multiple concurrent copies may be
run from different directories if configured to use separate
database tables. WordPress Multisites (previously referred
to as WordPress Multi-User, WordPress MU, or WPMU)
was a fork of WordPress created to allow multiple blogs to
exist within one installation but is able to be administered
by a centralized maintainer. WordPress MU makes it
possible for those with websites to host their own blogging
communities, as well as control and moderate all the blogs
from a single dashboard. WordPress MS adds eight new
data tables for each blog.
As of the release of WordPress 3, WordPress MU has
merged with WordPress.

History

b2/cafelog, more commonly known as b2 or cafelog, was


the precursor to WordPress. b2/cafelog was estimated to
have been installed on approximately 2,000 blogs as of
May 2003. It was written in PHP for use with MySQL by
Michel Valdrighi, who is now a contributing developer to
WordPress. Although WordPress is the official successor,
another project, b2evolution, is also in active development.
WordPress first appeared in 2003 as a joint effort
between Matt Mullenweg and Mike Little to create
a fork of b2. Christine Selleck Tremoulet, a friend of
Mullenweg, suggested the name WordPress.

In 2004 the licensing terms for the competing Movable


Type package were changed by Six Apart, resulting in
many of its most influential users migrating to
WordPress. By October 2009 the Open Source CMS
MarketShare Report concluded that WordPress enjoyed
the greatest brand strength of any open-source content
management system.

You might also like