Table Of ContentMastering Web Application
Development with AngularJS
Build single-page web applications using the power of
AngularJS
Pawel Kozlowski
Peter Bacon Darwin
BIRMINGHAM - MUMBAI
Mastering Web Application
Development with AngularJS
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the authors, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: August 2013
Production Reference: 1170813
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK..
ISBN 978-1-78216-182-0
www.packtpub.com
Cover Image by Abhishek Pandey (abhishek.pandey1210@gmail.com)
Credits
Authors Project Coordinators
Pawel Kozlowski Arshad Sopariwala
Peter Bacon Darwin Priyanka Goel
Reviewers Proofreaders
Stephane Bisson Judith Bill
Miško Hevery Bernadette Watkins
Lee Howard
Indexer
Monica Ajmera Mehta
Acquisition Editors
Rukhsana Khambatta
Pramila Balan Graphics
Ronak Dhruv
Abhinash Sahu
Lead Technical Editor
Dayan Hyames
Production Coordinator
Aditi Gajjar
Technical Editors
Shashank Desai
Krishnaveni Haridas Cover Work
Aditi Gajjar
Saumya Kunder
About the Authors
Pawel Kozlowski has over 15 years of professional experience in web
development and was fortunate enough to work with variety of web technologies,
languages, and platforms. He is not afraid of hacking both at client side and server
side and always searches for the most productive tools and processes.
Pawel strongly believes in free, open source software. He has been very committed
in the AngularJS project and also is very active in the AngularJS community. He also
contributes to Angular UI – the companion suite to the AngularJS framework, where
he focuses on the Twitter's Bootstrap directives for AngularJS.
When not coding, Pawel spreads a good word about AngularJS at various conferences
and meetups.
Acknowledgments
Reflecting on the last few months I can't believe how fortunate I was to work on this
book with so many great people. This text wouldn't have been possible without all
the help and hard work of you all. Thank you.
Firstly I would like to say a "Thank you" to all the members of the AngularJS team
at Google. You are the dream team working on an amazing framework. Keep up
the great work! My special thanks go to Brad Green, Miško Hevery, Igor Minar, and
Vojta Jína. Brad, thank you for putting Peter and me in contact with the publisher
and encouraging us to write this book. Miško, thank you for reviewing our book
and bearing with us when we had naive questions about AngularJS. Igor, for your
constant support and an endless stream of good hints, which made this book much
better. It was a lot of fun to work with all of you guys.
I would like to extend my gratitude to the entire AngularJS community, especially to
people with whom I've interacted on the mailing list and other forums. I can't name
you all, but your insightful questions were great inspiration for this book. A vibrant,
supportive community behind AngularJS is one more reason why this framework is
so great.
Thanks are due to all the people at Packt Publishing: Rukhsana Khambatta, Dayan
Hyames, and Arshad Sopariwala. You've made the entire writing and publishing
process very smooth and straightforward. Thank you.
I would like to thank my co-workers at Amadeus, where I've learned what it
takes to be a client-side programmer. Firstly, my managers Bertrand Laporte and
Bruno Chabrier. Bertrand, thank you for introducing me to the world of client-side
development and encouraging me to write this book. Bruno, thank you for letting
me work part time and focus on this project. Thank you both for your generosity.
Thanks to Julian Descottes and Corinne Krych, who reviewed an earlier draft of the
book and provided valuable feedback.
Very, very special thanks to Peter who agreed to co-author this book with me. Peter,
I've throughly enjoyed every minute of working with you on this project. I could
hardly dream of a better co-author.
Lastly, but most importantly, I would like to thank my wonderful soon-to-be wife
Ania. Without your unconditional support and patience I wouldn't have even
thought of starting work on this book.
About the Authors
Peter Bacon Darwin has been programming for over two decades. He worked with
.NET from before it was released; he contributed to the development of IronRuby and
was an IT consultant for Avanade and IMGROUP before quitting to share his time
between freelance development and looking after his kids.
Peter is a notable figure in the AngularJS community. He has recently joined the
AngularJS team at Google as an external contractor and is a founder member of the
AngularUI project. He has spoken about AngularJS at Devoxx UK and numerous
London meetups. He also runs training courses in AngularJS. His consultancy
practice is now primarily focused on helping businesses make best use of AngularJS.
I would like to thank the team at Google for giving us AngularJS, in
particular the ones who got it all going: Miško Hevery, Igor Minar,
Brad Green, and Vojta Jína. They are a constant inspiration. My co-
author, Pawel, is the driving force behind this book. He conceived
the structure, wrote most of the content, and is a great guy to work
with. We have all benefited from the awesome active community
that has built up around AngularJS in such a short time, especially
the folks in the AngularUI project. Finally, I couldn't have completed
the book without the love and support of my wife, Kelyn, and kids,
Lily and Zachary.
About the Reviewers
Stephane Bisson has been a developer at ThoughtWorks, a global IT consultancy.
He is currently based in Toronto, Canada. He has also worked on several rich web
applications for medical, financial, and manufacturing industries.
Miško Hevery has been working as an Agile Coach at Google where he is
responsible for coaching Googlers to maintain the high level of automated testing
culture. This allows Google to do frequent releases of its web applications with
consistent high quality. Previously he worked at Adobe, Sun Microsystems, Intel,
and Xerox, where he became an expert in building web applications using web-
related technologies such as Java, JavaScript, Flex, and ActionScript. He is very
involved in open source community and is an author of several open source projects,
most notable of which is AngularJS (http://angularjs.org).
Lee Howard has a Computer Science degree from Appalachian State University
and is currently the lead programmer analyst for the Northwest Area Health
Education Center at Wake Forest Baptist Health Medical Center in Winston-Salem,
NC. He has developed a variety of web applications to facilitate the creation,
registration, delivery, and completion of live and the online continuing medical
education courses for the Northwest AHEC. He has also developed Northwest
AHEC's CreditTrakr mobile app for IOS devices, which allows physicians and other
medical professionals to track their CME credits with their IOS devices.
www.PacktPub.com
Support files, eBooks, discount offers and more
You might want to visit www.PacktPub.com for support files and downloads related
to your book.
Did you know that Packt offers eBook versions of every book published, with PDF
and ePub files available? You can upgrade to the eBook version at www.PacktPub.
com and as a print book customer, you are entitled to a discount on the eBook copy.
Get in touch with us at service@packtpub.com for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign
up for a range of free newsletters and receive exclusive discounts and offers on Packt
books and eBooks.
TM
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital
book library. Here, you can access, read and search across Packt's entire library of
books.
Why Subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print and bookmark content
• On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view nine entirely free books. Simply use your login credentials for
immediate access.