NativeScript is an open source framework built by Progress to build truly native mobile apps with Angular, TypeScript, or even good old plain JavaScript. Angular is also an open source framework built by Google that offers declarative templates, dependency injection, and rich modules to build applications. Angular's versatile view handling architecture allows your views to be rendered as real native UI components--native to iOS or Android--that offer superior performance with fluid usability. This decoupling of the view rendering layer in Angular, combined with the power of native APIs in NativeScript, has come together to create the powerful combination that is the exciting world of NativeScript for Angular.
This book focuses on the key concepts you need to know to build NativeScript for your Angular mobile app on iOS and Android. We'll build a fun multitrack recording studio app, touching on the powerful native key concepts you need to know when you start building an app of your own. Having the right structure is critical to developing an app that can scale while also being highly maintainable and portable, so we'll start with project organization using Angular's @NgModule. We'll use Angular Components to build our first view and then create services that we can use via Angular's dependency injection.
You'll understand NativeScript's tns command-line utility to run the app on iOS and Android. We'll integrate third-party plugins to construct some of the core features. Next, we'll integrate the @ngrx store plus effects to establish some solid practices (Redux inspired) to deal with state management. Having a great data flow and solid architecture is meaningless if the app doesn't look good or offer a great user experience, so we'll use SASS to polish a style for our app. After that, we'll deal with debugging problems and invest some time into writing tests to prevent bugs in the future. Lastly, we'll bundle our app with webpack and deploy it to the Apple App Store and Google Play.
By the end of the book, you'll know the majority of the key concepts needed to build a NativeScript for Angular app.