15. @tryshchenko
PWA is a web app which also can
(optionally):
• Work offline
• Be added to home screen and be configured to work
fullscreen
• Send push notifications (Android only)
• Handle jobs when app is closed (Android only)
• Don't need to be deployed to store and can work as a
regular website
21. @tryshchenko
Milestone 2:
• FE repository is totally independent
• Config with API host
• Replace cookies with JWT
• CORS enabled for all endpoints
• Get rid of BE-generated HTML templates if used
• No configuration is stored in HTML
24. @tryshchenko
Milestone 2:
• Front-End repository is build and deployed separately
from API (which better put to api.yourcoolwebsite.com)
• Back-End repository doesn't know anything about front-
end except SSR
25. @tryshchenko
Milestone 3:
• Learn what Dependency Injection and Inversion of
Control are.
• Create abstractions for Local Storage, Cookies
• Create abstraction for XHR layer
• Create abstractions for device API's (IO, Location,
etc)
• Add state serialization and persistence mechanism
28. @tryshchenko
Milestone 4:
• Add Manifest, Meta tags, all related icons and assets
• Configure "Add to home screen" modal window for Android
• Full screen, theme colors, loading screen
29. @tryshchenko
Milestone 5:
• Create abstraction for service workers
• Create caching mechanism and choose caching strategy
• Come up with mechanism for remote force cache reload
39. @tryshchenko
Milestone 7: UI/UX
• Don't try to make polymorphic set of components to
share between web/mobile.
• For Web: OnsenUI, Ionic
• For React Native: React Native Elements, NativeBase
40. @tryshchenko
How not to fuck trick yourself:
• Disable overflow scroll for iPhone in CSS
• Disable zoom + use correct viewport*
• Define fonts explicitly, as some phone vendors allow people to use shitty
fonts as system fonts
• Some people still use iPhone SE, check your app on it
• Say NO to HTML <table> and any table-look data representations in your app.
• People can rotate screen
• Use correct keyboard types
• Make sure your UI library is cross-platform