|Insider's Guide To Udacity Android Developer Nanodegree Part 6 - Capstone Stage 1|
|Written by Nikos Vaggalis|
|Sunday, 19 November 2017|
Page 2 of 2
How will your app handle data persistence?
Describe any edge or corner cases in the UX.
Describe any libraries you’ll be using and share your reasoning for including them.
Describe how you will implement Google Play Services or other external services.
Next Steps: Required Tasks
Task 1: Project Setup
Task 2: Implement UI for Master Activity
Task 3: Build Master Activity functionality
Task 4: Next Activities
Task 5: Leftovers
Going through this process made me ponder whether, given there's a website already, is it worth the trouble of building a native app at all? Progressing through the Nanodegree, building native apps and drawing on that experience I've reached the conclusion that native apps have distinct advantages over their website counterparts.
Let me explain.
Apps feel more familiar because users can easily transfer their experience from using one to another. This is because they are based on predefined standards or frameworks, such as 'Material Design' in Android's case. Such frameworks make designing an application easier since they make use of standardized, as well as enhanced, UI components such as Collapsing Toolbars, Navigation Views, FAB's, Snackbars, Tab Layouts and more. On the web you don't get that sort of functionality for free.
And what about state? It's much easier to maintain it in a native app, something that goes a long way in offering its users a richer and smoother experience. Saving favourites, preferences, credits and state recovering after exceptional situations are a cakewalk.
Then testing. You can use your favourite Unit testing framework, fire up your emulator and load your custom devices versus the non-standardized testing across browsers and their versions.
Of course, what is common to either website or native app is accessing a backend database, and while accessing data through a RESTful API unifies their requirements, doing the same for a data warehouse closely attached to the application's logic requires more effort in the case of a website. Smadeseek, for example, lives on a VPS and maintains a directly bound connection to a self-hosted MySQL instance. In contrast, out of the box specific Android extensions for cloud dbms, such as Firebase, once more give the advantage to native apps.
Looking forward to Capstone Stage 2 and the actual implementation.
or email your comment to: email@example.com
|Last Updated ( Monday, 20 November 2017 )|