All Rights Reserved. No part of this publication may be reproduced or distributed in any form or by any means or stored in a database or retrieval system, without the prior written permission of the publisher with the exception to the program listings which may be entered, stored and executed in a computer system, but they can not be reproduced by the means of publication.
The information contained in this book is true to correct and the best of authors & publishers knowledge. The author has made every effort to ensure the accuracy of these publications, but cannot be held responsible for any loss or damage arising from any information in this book.
All trademarks referred to in the book are acknowledged as properties of their respective owners.
Shop No. 5, Mahendra Chambers,
150 DN Rd. Next to Capital Cinema,
V.T. (C.S.T.) Station, MUMBAI-400 001
Published by Manish Jain for BPB Publications, 20 Ansari Road, Darya Ganj, New Delhi-110002 and Printed by him at Repro India Ltd, Mumbai
Dedicated to
Our Parents
who gave us roots to stay grounded and wings to fly high
Late Shri Arun Kumar Thakur and Smt. Nilu Thakur
Shri Ajit Kumar and Smt. Usha Sinha
Shri Narayan Battewad and Late Smt. Suwarna Battewad
About the Authors
Alok Ranjan is a B.Tech in Computer Science and Engineering from IIT Delhi. After graduating in 2001, Alok worked with companies like Newgen, Virtusa, and Convergys before starting his entrepreneurial journey. He co-founded an IT Services Company, Walking Tree, in 2008, which specializes in cross-platform web/mobile application development, digital transformation and data-driven decisions. He has been involved in defining and shaping technology products which have had a meaningful and measurable impact. When he is not working with customers, he spends time exploring technologies and building team.
Useful Links:
https://www.linkedin.com/in/alok-ranjan-b36a103/
https://walkingtree.tech/author/wtalok/
https://github.com/wtcalok
Abhilasha Sinha is BE Computer Science from Osmania University. After completing her graduation in 2003, she started her career as a Software Engineer with Infosys. She went on to be Senior Technology Architect in a long and fulfilling association of 12 years. She started as a Java developer, later moved to Oracle applications and also worked on middleware technologies like BPEL and OSB. She joined Walking Tree in 2016, where she continues to explore new technologies and deliver end-to-end custom web applications for enterprises using the latest technologies and frameworks like React.js, Angular and Node.js. She is also involved in training in Modern Web Frameworks like React and Angular. When not exploring something new, the mother of two boys loves spending time with her family.
Useful Links:
https://www.linkedin.com/in/abhilasha-sinha-0b795020/
https://skillgaze.com/
https://walkingtree.tech/author/abhilasha-sinha/
Ranjit Battewad has 9+ years of full-stack web and mobile application development experience. Associated with WalkingTree Technologies from last 8+ years and playing the role of a senior technical lead, he has exposure to complex application architecture design and development. His core expertise areas are Ext JS, Sencha Touch, HTML, CSS, JavaScript, NodeJS, MongoDB, PostgreSQL, Blockchain - Ethereum, Cordova, ReactJS, Java. He has proven skills in developing and providing simple solutions for high complexity applications & development problems. He has a strong knowledge of databases, such as PostgreSQL and MySQL and is responsible for the complete life cycle of the project with exceptional project and team management skills.
Useful Links:
https://www.linkedin.com/in/ranjitbattewad/
https://walkingtree.tech/author/branjit/
https://github.com/ranjit-battewad
About the Reviewers
Suhail Abdul Rehman Chougule, Developed AI/ML Application, Linux, IBM Power AI Servers, Web Services, Apache Axis2 1.2, SOAP, Django, MS SQL Server, Ajax, Html, Multithreading,, LDAP (OpenDS), MySQL, CSS, Object-Oriented JavaScript, jQuery, jQuery UI, SVN, Circle CI (For Continuous Integration), Bugzilla, SSH. He Leads a team of 14 developers to develop and launch the AI-based Clinical App called Doctor App. Doctor App is a Web application and was implemented using MVC architectural pattern.
Suhail Abdul Rehman Chougule, Designed and implemented UAE based entities BI (Business Intelligence) dashboard which used Angular JS, Django, backend MS SQL Server deployed on CISCO Servers. He Evaluated new technologies. Added jQuery and jQuery UI as new technologies to be used in different projects. He Implemented a large part of the UI dynamic functionalities using CSS, jQuery, jQuery UI, Ajax, JSON, and XML. He Developed back end and front-end parts of Doctor App.
Acknowledgements
First and foremost, we would like to thank the Almighty for giving us the strength and capability to contribute to the field of knowledge. We would like to thank everyone at BPB Publications for giving us the opportunity to publish this book.
We would like to thank our parents and spouse for all the support system, so we were able to focus on the book, besides our regular work.
Special mention to our children Aayush, Akshar and Vaidik - their energy, positivity and curiosity, brightens our days and inspires us to keep going always.
Last but not least, we would like to thank Pradeep, Suman and the entire team of Walking Tree Technologies for all their timely support.
Alok Ranjan
Abhilasha Sinha
Ranjit Battewad
Preface
In the last few decades, the web and the internet have grown by leaps and bounds, and it is now nothing short of omnipresent. JavaScript, the soul of the web and as old as the internet itself, still continues to grow and prosper. Numerous web and mobile JavaScript frameworks introduced to the world in the last few years, unleash the potential of JavaScript and make software application development, a very structured and easy to learn the process. The primary objective of this book is to create a strong foundation for web development by covering all aspects of it in one place. Starting from the basics of HTML, CSS and JavaScript, it brings about the different concepts of functional and object-oriented programming along with asynchronous constructs in JavaScript and goes on to introduce one of the popular JavaScript frameworks of today, React. This book includes step by step illustration of the development of two simple applications, using all the knowledge acquired here. This book also covers the supporting areas of the development process, which includes debugging, testing and deployment. This book will take you through the entire learning journey from Beginner to Expert supported with extensive code snippets, best practices, and concludes with applying the acquired knowledge to build real-life applications.