## What is a Smart Device?
> A **smart device** is an electronic device, generally connected to other devices or networks via different wireless protocols, that can operate to some extent interactively and autonomously.
> ([Wikipedia](https://en.wikipedia.org/wiki/Smart_device))
## The 3 Types
of Mobile Experiences
Native Apps
## Advantages of Native Apps
* great performance
* great UX
* access to native API
* great support of debug tools
* apps are available through platform's apps store
## Disadvantages of Native Apps
* not cross platform
* expensive and hard development
Mobile Websites
## Advantages of Web Apps
* easy maintainablity
* no installation
* cross platform
## Disadvantages of Web Apps
* internet connection is required
* no native access
* no access to device's hw
* limited UI
* requires keyboard to load
## Progresive Web Applications
(PWA)
Hybrid Apps
## Advantages of Hybrid Apps
* cross platform
* ease of development / single codebase
* access to device
* fast, easy and not so expensive development
* distribution over app store
* apps work offline
* apps can work as MVP
## Disadvantages of Hybrid Apps
* not same performance as native
* native access via plugins
* no native UI controls
* web view limitations
![Native vs Hybrid vs Web](../images/native.vs.hybrid.vs.webapps.jpg)
notes:
* https://ripenapps.com/blog/native-hybrid-or-web-the-new-big-question-of-mobile-app-development/
[![Stack Overflow Developer Survey 2022](images/stackoverflow-dev.survey.jpg)](https://survey.stackoverflow.co/2022/)
[Stack Overflow Developer Survey 2022 - Languages](https://survey.stackoverflow.co/2022/#technology-most-popular-technologies)
[Stack Overflow Developer Survey 2022 - Frameworks](https://survey.stackoverflow.co/2022/#other-frameworks-and-libraries)
## Example: Torch App