

Desertcart purchases this item on your behalf and handles shipping, customs, and support to Sri Lanka.
Grasp the fundamentals of web application development by building a simple database-backed app from scratch, using HTML, JavaScript, and other open source tools. Through hands-on tutorials, this practical guide shows inexperienced web app developers how to create a user interface, write a server, build client-server communication, and use a cloud-based service to deploy the application. Each chapter includes practice problems, full examples, and mental models of the development workflow. Ideal for a college-level course, this book helps you get started with web app development by providing you with a solid grounding in the process. Set up a basic workflow with a text editor, version control system, and web browser Structure a user interface with HTML, and include styles with CSS Use JQuery and JavaScript to add interactivity to your application Link the client to the server with AJAX, JavaScript objects, and JSON Learn the basics of server-side programming with Node.js Store data outside your application with Redis and MongoDB Share your application by uploading it to the cloud with CloudFoundry Get basic tips for writing maintainable code on both client and server Review: Towards A Pixel to Metal Perspective - [This is an excerpt of my review published in ACM ComputingReviews.com] Becoming proficient at web application development involves a very steep learning curve and is often a never-ending, career-long endeavor. And yet a newbie has to start somewhere. When getting started, itโs easy to become overwhelmed by the vast array of concepts, technologies, and tools one has to master. Often, even proficient web application developers have blinders on when it comes to having a broad perspective on web application development. In general, most developers are adequately familiar with only one or two of the following aspects of web application development: client-side programming, middleware programming, server-side programming, text editors/integrated development environments (IDEs), source/version control systems, data stores, operating systems, network programming, and hardware configurations. Few developers have a broad enough perspective--or what I call a 360-degree โpixel to metal (P2M)โ worldview--of web application development. Thatโs why Semmy Purewalโs new book is a highly welcome and valuable contribution. Along similar lines, at the New England Java Users Group (NEJUG, Boston), in August 2013, I presented a technology stack and sample application with source code for end-to-end web application development. After my presentation, I had wished to write a book similar to this one. Alas, I had neither the time nor the energy to see it through. However, the stack I presented was a polyglot stack, including JavaScript for client-side development, Java for server-side development, and a relational database. Purewalโs book somewhat simplifies the learning curve, to the extent thatโs possible, by choosing an entirely JavaScript-based stack. At less than 300 pages, Purewalโs book may seem short, but it manages to introduce the reader to a surprisingly wide array of concepts, technologies, and tools. And in doing so, the author does a great job of spending just the right amount of time on each topic, gradually building on previously explained topics to construct increasingly sophisticated web application snippets in each successive chapter. Hereโs a listing of the concepts, technologies, and tools this book introduces: Sublime, Git, GitHub, Chrome, Linux, Hypertext Markup Language (HTML), cascading style sheets (CSS), JavaScript, jQuery, JSON, Ajax, VirtualBox, Vagrant, Node.js, Express, PuTTY, hypertext transfer protocol (HTTP), Redis, MongoDB, Mongoose, and Cloud Foundry. As a result, it is not only ideal for novices, but also helpful for experienced developers looking to plug gaps in their P2M perspective of web application development. This is a very thoughtfully put together book. There are very few typographical errors or inconsistencies, which is difficult to achieve in a book on programming. Exercises at the end of each chapter stimulate the reader to take on additional challenges, and some of the exercise results are leveraged in future chapters (for example, finding the number of occurrences of a string in an array of strings). There are useful pointers to further reading at the end of each chapter. Most of the bookโs code is available on GitHub, organized by chapter. The author uses two major themes for most of the exercises and code examples. The first is a to-do list that the user can build, tag, and categorize by tags. The second is a poker hand evaluator that is used to demonstrate how best to leverage some of JavaScriptโs built-in functions. Other smaller examples involve consuming JSON feeds from Yahoo, Flickr, and Twitter. I got some of the harder exercises working on my machine, and found the code examples to be accurate and helpful. The author follows a certain discipline for each project, including checking code into GitHub at regular intervals, which is good for developers to emulate. Along the way, the author manages to impart useful information on programming best practices, especially with respect to JavaScript, which is central to the programming environment that this book is sculpted around. A few words of caution. If youโre using the Internet Explorer browser (for example, because your employer only allows IE), you wonโt get the full experience. IEโs JavaScript console is much inferior to that of Chrome. On IE 9, for example, I was not able to drill down into JavaScript objects in the way that Chrome permits. Also, many of the longstanding Node.js modules, for example, Express, have been broken up into their component modules, which have to be installed and linked separately. So, the code in the book isnโt going to work as is, but it will point you in the right direction. Unfortunately, past chapter 6 (on Node.js) things start to get a bit light on details. On page 229, we connect to the Amazerrific data store in Mongo, but we never created the data store! Also, on GitHub, the code only goes up to chapter 6. So, at this crucial juncture, the reader is left to his or her own devices. We have a pretty decent to-dos app, but it has no ability to persist the to-dos. So, the next time you launch the app, all your to-dos are gone! (So, I took it upon myself to address the gaps--Google my GitHub to see a working demo with source code.) Whereas the author champions RESTful application programming interfaces (APIs), working through a project as I did will surely cause you to realize the shortcomings of an approach that attempts to use HTTP methods to imply which CRUD operation is taking place. A fundamental gap is that the four HTTP methods donโt have uniform behavior. For example, an HTTP POST (meant to be used for updates) embeds parameters in the request body whereas an HTTP GET (meant to be used for gets or selects) places parameters on the uniform resource locator (URL). Apart from security and aesthetic considerations with placing parameters openly on the URL, it is unpleasant to not be able to work with uniform programming paradigms for these four HTTP methods either on the client side (jQuery doesnโt have a $.put() method) or on the server side (Express). One area the author seems to omit completely is security. I donโt expect a book to be able to cover all topics, but the author does a great job of alluding to important concepts even when he isnโt planning to cover them in depth (for example, JavaScript Promise APIs). I believe readers ought to be given as complete a list of to-dos (pun intended!) required to make even a simple application production-ready. Furthermore, authentication and authorization are definitely must-haves. Review: Excellent book if you are starting on Web Development. - If you are starting on Web Development, I say to you: "It's dangerous to go alone. Take this!". While this book never goes in depth in any of the subjects, it consistently guides you through the different technologies and basic tools you could use to build a Web Application from scratch. It starts by setting up your IDE, then you get to create the client, then the server, then deploy your app to the cloud and finally it helps you refactor your code using some good practices and MVC. I give it 4 stars because some examples require the use of development tools and the book is not updated on some of them. I had some trouble getting to run some of them and had to rely on google for help. Specifically MongoDB and CloudFoundry. Other than those minor setbacks, the book helped me step into Web Development.
































































| Best Sellers Rank | #1,169,530 in Books ( See Top 100 in Books ) #217 in JavaScript Programming (Books) #285 in Mobile App Development & Programming #606 in Web Design (Books) |
| Customer Reviews | 4.4 out of 5 stars 100 Reviews |
P**A
Towards A Pixel to Metal Perspective
[This is an excerpt of my review published in ACM ComputingReviews.com] Becoming proficient at web application development involves a very steep learning curve and is often a never-ending, career-long endeavor. And yet a newbie has to start somewhere. When getting started, itโs easy to become overwhelmed by the vast array of concepts, technologies, and tools one has to master. Often, even proficient web application developers have blinders on when it comes to having a broad perspective on web application development. In general, most developers are adequately familiar with only one or two of the following aspects of web application development: client-side programming, middleware programming, server-side programming, text editors/integrated development environments (IDEs), source/version control systems, data stores, operating systems, network programming, and hardware configurations. Few developers have a broad enough perspective--or what I call a 360-degree โpixel to metal (P2M)โ worldview--of web application development. Thatโs why Semmy Purewalโs new book is a highly welcome and valuable contribution. Along similar lines, at the New England Java Users Group (NEJUG, Boston), in August 2013, I presented a technology stack and sample application with source code for end-to-end web application development. After my presentation, I had wished to write a book similar to this one. Alas, I had neither the time nor the energy to see it through. However, the stack I presented was a polyglot stack, including JavaScript for client-side development, Java for server-side development, and a relational database. Purewalโs book somewhat simplifies the learning curve, to the extent thatโs possible, by choosing an entirely JavaScript-based stack. At less than 300 pages, Purewalโs book may seem short, but it manages to introduce the reader to a surprisingly wide array of concepts, technologies, and tools. And in doing so, the author does a great job of spending just the right amount of time on each topic, gradually building on previously explained topics to construct increasingly sophisticated web application snippets in each successive chapter. Hereโs a listing of the concepts, technologies, and tools this book introduces: Sublime, Git, GitHub, Chrome, Linux, Hypertext Markup Language (HTML), cascading style sheets (CSS), JavaScript, jQuery, JSON, Ajax, VirtualBox, Vagrant, Node.js, Express, PuTTY, hypertext transfer protocol (HTTP), Redis, MongoDB, Mongoose, and Cloud Foundry. As a result, it is not only ideal for novices, but also helpful for experienced developers looking to plug gaps in their P2M perspective of web application development. This is a very thoughtfully put together book. There are very few typographical errors or inconsistencies, which is difficult to achieve in a book on programming. Exercises at the end of each chapter stimulate the reader to take on additional challenges, and some of the exercise results are leveraged in future chapters (for example, finding the number of occurrences of a string in an array of strings). There are useful pointers to further reading at the end of each chapter. Most of the bookโs code is available on GitHub, organized by chapter. The author uses two major themes for most of the exercises and code examples. The first is a to-do list that the user can build, tag, and categorize by tags. The second is a poker hand evaluator that is used to demonstrate how best to leverage some of JavaScriptโs built-in functions. Other smaller examples involve consuming JSON feeds from Yahoo, Flickr, and Twitter. I got some of the harder exercises working on my machine, and found the code examples to be accurate and helpful. The author follows a certain discipline for each project, including checking code into GitHub at regular intervals, which is good for developers to emulate. Along the way, the author manages to impart useful information on programming best practices, especially with respect to JavaScript, which is central to the programming environment that this book is sculpted around. A few words of caution. If youโre using the Internet Explorer browser (for example, because your employer only allows IE), you wonโt get the full experience. IEโs JavaScript console is much inferior to that of Chrome. On IE 9, for example, I was not able to drill down into JavaScript objects in the way that Chrome permits. Also, many of the longstanding Node.js modules, for example, Express, have been broken up into their component modules, which have to be installed and linked separately. So, the code in the book isnโt going to work as is, but it will point you in the right direction. Unfortunately, past chapter 6 (on Node.js) things start to get a bit light on details. On page 229, we connect to the Amazerrific data store in Mongo, but we never created the data store! Also, on GitHub, the code only goes up to chapter 6. So, at this crucial juncture, the reader is left to his or her own devices. We have a pretty decent to-dos app, but it has no ability to persist the to-dos. So, the next time you launch the app, all your to-dos are gone! (So, I took it upon myself to address the gaps--Google my GitHub to see a working demo with source code.) Whereas the author champions RESTful application programming interfaces (APIs), working through a project as I did will surely cause you to realize the shortcomings of an approach that attempts to use HTTP methods to imply which CRUD operation is taking place. A fundamental gap is that the four HTTP methods donโt have uniform behavior. For example, an HTTP POST (meant to be used for updates) embeds parameters in the request body whereas an HTTP GET (meant to be used for gets or selects) places parameters on the uniform resource locator (URL). Apart from security and aesthetic considerations with placing parameters openly on the URL, it is unpleasant to not be able to work with uniform programming paradigms for these four HTTP methods either on the client side (jQuery doesnโt have a $.put() method) or on the server side (Express). One area the author seems to omit completely is security. I donโt expect a book to be able to cover all topics, but the author does a great job of alluding to important concepts even when he isnโt planning to cover them in depth (for example, JavaScript Promise APIs). I believe readers ought to be given as complete a list of to-dos (pun intended!) required to make even a simple application production-ready. Furthermore, authentication and authorization are definitely must-haves.
M**E
Excellent book if you are starting on Web Development.
If you are starting on Web Development, I say to you: "It's dangerous to go alone. Take this!". While this book never goes in depth in any of the subjects, it consistently guides you through the different technologies and basic tools you could use to build a Web Application from scratch. It starts by setting up your IDE, then you get to create the client, then the server, then deploy your app to the cloud and finally it helps you refactor your code using some good practices and MVC. I give it 4 stars because some examples require the use of development tools and the book is not updated on some of them. I had some trouble getting to run some of them and had to rely on google for help. Specifically MongoDB and CloudFoundry. Other than those minor setbacks, the book helped me step into Web Development.
P**D
An excellent start for a would-be front end developer
This is a very good book on web application development in javascript. If you are just starting out, and want to learn the whole stack (HTML, CSS, Javascript, and all the little bits on how to set up your development environment), this is the book you need. Purewal ties the whole thing together, and he does it gradually. You probably won't get flooded (often). I am a front end developer, and I bought this book for the second half, on javascript. What I really like about this book is that Purewal gets the importance of Javascript, and where it fits into web apps these days. This is different from other javascript texts that read like they were written for a different era (they probably were) when JS was a bit of a rogue language. This book was written for 2015, which is the era of the javascript framework, when the all cutting edge shops want javascript devs. Javascript has become the top language of the web. The middle section also happens to the the single best into-to-javascript text that I know of. First Purewal has the reader doing simple DOM manipulation with jquery. Then he switches to vanilla JS, and has the reader create simple arrays and objects, and create functions to do stuff with them. His answer to the common question "to jquery or not to jquery", his answer is both. Which I think if is the right answer. One thing Purewal does not cover is any front end framework, such as Backbone, Angular, React, etc. I think after finishing this, you would be ready to move on to one of those choices. For my own work, I started using Angular shortly after finishing this book. I would give this 5 stars but the book is unfortunately too short. Is an awesome start, but there is a lot more ground to be covered. Maybe there will be a sequel. I'm hoping. [edit] I've upped my rating from four to five stars. Looking over the book again, I think this book succeeds perfectly in its objective: to launch beginners into the world of application development. And although its short, Purewal does cover all the key topics, and provides links for further study. I'm benefitting from a second working of the book now.
S**S
Outstanding introduction for non-web app developers
I highly recommend this book to anyone who is already experienced in something other than web app development and wishes to quickly introduce him or herself to the field. In my opinion, the primary benefit from the book is the emphasis on the various layers (e.g. client side, web server, database repositories, communications between the layers, etc.) that are involved within web app development. This begins to frame the range of considerations and responsibilities that are expected within this type of development. This delineation can help focus one's efforts when beginning to focus their subsequent studies. This is why I think that the complaint by another review that "[t]he book is targeted at someone who has basic programming skills who wants to learn to build a basic web app" is unfair and actually what makes this book excellent. Besides the broad understanding that this book provides, the secondary benefit that the books provides is its description of a whole range of software tools that are useful at the various infrastructure levels (including the use virtual machines) which are relevant to many developers (admittedly not all developers) as of 2014. Naturally the tools will change with time, but the main ideas and techniques that are introduced are likely, in my opinion, to survive for years to come. As to whether this book is appropriate for brand new developers is a tough call. For a new developer, it will be challenging to consider the big picture that is introduced in this book, and the various tools that are demonstrated to provide an end-to-end demonstration web app. That is a daunting task. Fortunately, the book is loaded with references for further learning, including suggestions about pre-requisites and where they can be found for free. I currently know of no better single book on web app development that teaches so much so quickly. If your style of learning is to start off with breadth and later go for depth then this is an outstanding place to start.
E**W
Great for beginners and intermediates
I purchased this book primarily for the chapters on JavaScript, JSON, and AJAX. I've been working with HTML and CSS for quite some time so I just skimmed those chapters. However, even tho the HTML and CSS chapters are basic (to me) in some ways, they actually reinforce some best practices that I was glad to be reminded of. I think the book has a clear intention of teaching best practices in programming and for that reason alone it's great for students. The chapters on Node, Mongo, and Redis were the most challenging for me because of my little experience with NoSQL databases and server side programming. The book outlines a college level course, so it has to assume some students are more beginner than others, but it does a great job of providing valuable exercises for all levels. The instruction is clear and thorough, and the examples at the end of each chapter are great for practice. I feel that I have an invaluable study tool in this book.
B**N
this is a good book for building a decent web app
Bit wordy... but once you get past that, this is a good book for building a decent web app.
J**S
Great Book!
This is a great book. At a little under 300 pages, it is no reference manual, but the book provides a great introduction to the various tools and technologies needed to implement a web app: HTML, javascript, CSS, databases, servers, etc. It is hard for a beginner to get a handle on everything needed to put together a web app, but Purewal puts together a pretty good springboard. Just to give you some idea of my skill level coming into this: I am an electrical engineer; I have some experience writing embedded code, mainly in C... so I have some programming background, but no particular experience in web technologies, or even GUI's. I was able to work through the book; exercises in this type book are always somewhat contrived, but I felt they were all useful without being overwhelmingly hard or time-consuming. As I am getting to the end of the book, I am no expert on Web App Development, but I know what I need to work on to round-out my skills. Hats off to Semmy Purewal; I plan to pre-order his next book... whatever it is, and whenever it comes out!
T**Y
Great for references
I just got into web app development, with zero background on the field and I love this book, it's easy to read and will make you learn fast. Just as people said before, it goes over the topics in a superficial way that is enough to trigger your curiosity and do a more extensive research. So it's kind of like an index for all the tools and skills you need to learn in order to become a web app developer.
L**L
Tolles Buch
Finde dieses Buch sehr gut. Autor erklรคrt alles sehr gut, sogar die Menschen, die noch gar nichts damit zu tun hatten, kรถnnen den leicht verstehen. Buch ist auf englische Sprache. Aber das finde ich auch sehr gut, da kann man beim lesen noch sein Englisch verbessern.
J**Y
Great book!!!
Cool book I ever found ! Everything is properly summarized & on place ! Must read!
F**I
A good way to start web app development
Starts from basics and learn by doing step-by-step.
T**E
A foundation in the technical, not creative
I was hoping to find a book that takes one through the process of designing and building a web application. Instead, this book tries to give readers a very quick grounding in the technical skills required to build one. It's much shorter than I imagined it would be, and much of the information is, shall we say, 'selective'. That's to say, it gives you a basic idea or concept without going into too much detail. You might argue then, that this book is tailored towards beginners in web development and assumes you have no prior knowledge. The book however does redeem itself in the code examples, which other books tend to neglect, and which can all be found online if you can't be bothered to type out the HTML/CSS. Semmy's voice and point of view also make the book more engaging - it's not just a reference book. In a nutshell: If you're new to web development, this is probably a safe bet. As Semmy says, it won't provide you with everything you need to build a web application, but it will point you in the right direction and may inspire some people. As a footnote, I am still yet to find a book that does take one through the detailed steps of building a web application. I've had to resort to internet tutorials, which also tend to focus on the technical side of things.
Z**H
Covers all bases and will help you hit the ground running
I really enjoyed this book. It helped me understand how the different aspects of a web app interact, and how to build something basic that can be expanded on. Solutions are provided by the author if you get stuck on some of the later chapters. Decisions are explained throughout the book, and images are used to help show how things change (like a DOM structure). The usage of git and various linters start you off on the right step too. My only wish is that it used a relational database, but that is only because it's what I need to work with.
Trustpilot
3 weeks ago
2 weeks ago