Preface

Node.js is a massively popular JavaScript library that lets you use JavaScript to easily program scalable network applications and web services. People approaching Node.js for the first time are often attracted by its efficiency, scalability, and the fact that it's based on JavaScript, the language of the Web. This means that developers can use the same language to write backend code. Also, it's increasingly being looked upon as a modern replacement for PHP in web development, which relies on fast-paced data exchange. This growing community and the large amount of available modules makes Node.js one of the most attractive development environments.

What this book covers

Chapter 1, Setting Up Your Workspace, explains how to set up your work environment to develop cross-platform applications by using the Ionic framework as the frontend tool, Node.js for the backend, and the integrated development environment, Atom.

Chapter 2, Configuring Persistence with MongoDB, goes through the necessary configurations that are needed to make an instance of MongoDB work with Node.js. You will learn how to set up security and a database, install the relevant MongoDB driver for Node.js, and communicate with the database from a Node.js instance.

Chapter 3, Creating an API, looks at how we can set up a uniform interface for sending and receiving data and basic functionality on the Node.js server by building an API (Application Programming Interface) that exposes it. We will cover the basic REST topics and show you how to configure routes to perform simple read/write operations on our data.

Chapter 4, Securing Your Backend, shows that this type of remedies can be achieved by building a basic security mechanism in order to control user access. Specifically, we will deal with token-based authentication and show you how this makes it easy to limit access to your backend. In doing so, we will introduce the concept of roles and how they figure in our authentication scheme.

Chapter 5, Real-Time Data and WebSockets, shows you how to enable real-time data communication using WebSockets. This will allow your server to directly communicate with connected clients without having to perform polling on the client side.

Chapter 6, Introducing Ionic, covers all the basic essentials that are needed to set up a working environment, which is required to efficiently create and share Ionic apps.

Chapter 7, Building User Interfaces, takes the template project that we created in the past few chapters and modifies it to something closer to what we envisioned by altering the appearance of the user interface. In addition to this, we will also start experimenting with the Ionic project code to deeply understand what the project is made up of.

Chapter 8, Making Our App Interactive, covers a lot of ground, going into the details of AngularJS and learning more about the interaction of the model, view, and controller. We will also see how to use the Cordova plugins and ngCordova in order to access native features. Finally, we will also have a look at how to create services and use them in order to serve data to the users.

Chapter 9, Accessing Native Phone Features, discusses how to directly work with the Google Maps API in order to render and work with maps.

Chapter 10, Working with APIs, explores how to access external APIs in order to send and retrieve data. You will learn how to encode/decode data to/from JSON in our app in order to provide a standard interface for processing.

Chapter 11, Working with Security, introduces the concept of security in mobile apps in the context of authenticating and authorizing local users. We will have a look at how to implement a common login feature, which contacts a remote server (run by Node.js, of course!) in order to verify that a given pair of user credentials is correct. We then use this information in order to grant the user access to the rest of the application.

Chapter 12, Working with Real-Time Data, covers how to set up WebSocket communication through the mobile app in order to subscribe to dynamic notifications from a server. We will elaborate on how this helps us develop truly dynamic applications, such as chat apps. This chapter will further introduce the concept of push notifications, which will allow our app to get updates from a server on a dynamic basis.

Chapter 13, Building an Advanced Chat App, expands this mobile app and makes it more advanced by adding the features of chat rooms and notifications. In doing so, we will demonstrate how the concept of namespacing works on socket.io, which is one of the most important aspects of this library.

Chapter 14, Creating an E-Commerce Application Using the Ionic Framework, brings together the knowledge that you have accumulated from this book and implements it in an easy-to-use Ionic framework that can be used in your very own projects.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.133.180