Slide 1

Slide 1 text

Dani Akash Building Universal Apps with Expo

Slide 2

Slide 2 text

Powered by React You just need to know a bit of JavaScript!

Slide 3

Slide 3 text

And here’s the summary ﹣ ● What exactly are platforms? ● How does modern App Development work ● Why build a Native App ● Why you shouldn’t build a Native App ● Cross platform development tools ● A bit of Javascript ● The React Native “Platform” ● Expo ● A bit of coding ● Some discussion We are gonna learn some stuff

Slide 4

Slide 4 text

Platforms A platform is a group of technologies based on which other applications are developed. Xbox, PlayStation, Nintendo ﹣ are all platforms for developing games

Slide 5

Slide 5 text

Targeted Platforms Almost all businesses require some form of platform

Slide 6

Slide 6 text

Desktop Mobile Web Desktop Native Universal Windows Platform Android iOS Mobile Web

Slide 7

Slide 7 text

Android Platform A few things to know Apps are built with Java, Kotlin or C++ ﹣ Uses XML for UI Layouts ﹣ The final app is packaged as .apk or .abb ﹣ Usually distributed through Play Store ﹣

Slide 8

Slide 8 text

iOS Platform A bunch of more things to know Apps are built with Objective-C or Swift ﹣ Uses Interface Builder or Swift UI for Layouts ﹣ The final app is packaged as .ipa ﹣ Can only be distributed through App Store ﹣

Slide 9

Slide 9 text

Web You might already know this Apps are built with HTML, CSS and JavaScript ﹣ Uses Flexbox or CSS Grids for Layouts ﹣ The final app is packaged as .html, .CSS or .js ﹣ Can be distributed throughout the web ﹣

Slide 10

Slide 10 text

Cross Platform Development tools Ionic Flutter React Native Uses the webview Uses its own rendering engine Uses a native bridge

Slide 11

Slide 11 text

Flutter An excellent framework if you are targeting only mobile apps!

Slide 12

Slide 12 text

Android Text is rendered using platform’s native “TextView” iOS Text is rendered using platform’s native “UILabel” What Makes React Native awesome The Native Bridge This will convert the Text Component into the platform’s native text element A React Native Text Component

Slide 13

Slide 13 text

The Native Bridge is powerful Since all the UI elements of React Native is defined as platform independent terms like Text, View, ScrollView etc. The Native Bridge can be extended to almost any platforms.

Slide 14

Slide 14 text

Twitter PWA Built with React-Native-Web where native bridge extends React native components to render HTML & CSS

Slide 15

Slide 15 text

React Native Windows It is a framework which extends React Native Components to Universal Windows Platform

Slide 16

Slide 16 text

And these usually don’t affect people who are familiar with the platform ● Complicated Setup ● Too much native code ● Lack of many inbuilt modules like Camera, Push Notifications ● Platform Specific Components ● Need a Mac for iOS Apps There are few things in React Native that make it difficult for new developers to learn

Slide 17

Slide 17 text

State of JS 2019

Slide 18

Slide 18 text

Meet Expo A Framework Built on Top of React Native

Slide 19

Slide 19 text

A few benefits ﹣ ● You don’t have to know Native Development ● You don’t need to search for external libraries ● You don’t need a mac to build iOS Apps ● It can extend upto all platforms with little to no change Expo organizes things neatly

Slide 20

Slide 20 text

Before we start... Node VSCode Google Chrome Yarn React Expo CLI

Slide 21

Slide 21 text

Thanks Follow me on: @dani_akash_ daniakash.com

Slide 22

Slide 22 text

You can find the projects we did in this session here... Github - Not Instagram - https://github.com/DaniAkash/not-instagram Snack - Todolist App - https://snack.expo.io/@daniakash/todolist RESOURCES