31
Mobile Applications 2019-2020

Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Mobile Applications2019-2020

Page 2: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Prerequisites

• Modern programming language

• Object oriented

• Statically types

• IDE - IntelliJ/Android Studio or Visual Studio Code

Page 3: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

What you should know...

• Basics:

• Object-oriented programming

• Classes, methods

• Exception handling

Page 4: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Bonus

• Functional Programming

• Lambdas

• Higher Order Functions

• Reactive Programming

Page 5: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Options

2007 2008

2010

Page 6: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Native Options

2014

2017

2007

2008

Page 7: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Non-Native Options

Hybrid App2013

Page 8: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Non-Native Options

20152014

2017

Compiled App

Page 9: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Timeline

20152014 2017

20072008

20132011

Page 10: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

What to learn?

Page 11: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

bit.ly/maQuiz2019

Page 12: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

ComparisonWrite once Write twice

Write once, use everywhere

Learn once Learn twiceLearn once, write everywhere

All available

Write everything

Rich component library

Material Design

Page 13: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

ComparisonPlentiful Scarse

Ecosystem/Resources

Hot ColdPopularity

Native WrapperPerformance

Page 14: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Comparison

Native Wrapper

Access device features

Everybody First App

Real-World Usage

Page 15: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Previous years

Page 16: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Responses from last year

Page 17: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Verify the quiz

Page 18: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Previous Year

Page 19: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources
Page 20: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources
Page 21: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

This year

Page 22: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Why Kotlin• Modern programming language

• Object oriented

• Lambdas, Coroutines, Properties

• Since 2011

• Open Sources 2012

• Official First Class Android Citizen since 2017

• IntelliJ and Android Studio 3.0+

Page 23: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Why Kotlin

Java

Page 24: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Why Kotlin

Kotlin equivalent

Why Kotlin

Page 25: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Why KotlinWhy Kotlin

Page 26: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Why KotlinWhy Kotlin

Page 27: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources
Page 28: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Why Flutter#1 Hot reload#2 Full set of (Material Design) widgets#3 Everything is a Widget#4 Different themes for Android/iOS#5 Many packages

Page 29: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources
Page 30: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Course Goals

• Knowledge of key base concepts for developing mobile applications.

• Learn the Android platform.

• Learn a framework to develop multi-platform applications (Android&iOS)

Page 31: Mobile Applications - Babeș-Bolyai Universitydan/ma/Lecture1.pdf• Modern programming language • Object oriented • Lambdas, Coroutines, Properties • Since 2011 • Open Sources

Lecture outcomes

• Understand the generated artifacts

• Lifecycle of applications, activities and fragments.

• Use logs to debug and study the behavior.