PHP Web 2.0 Mashup Projects (英語) ペーパーバック – 2007/9/30
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Create PHP projects that grab and mix data from the likes of Google Maps, Flickr, Amazon, YouTube, MSN Search, Yahoo!, Last.fm, the Internet UPC Database, not to mention the California Highway Patrol Traffic service! If you feel confident with your PHP programming, familiar with the basics of HTML and CSS, unafraid of XML, and interested in mashing things up, this is the book for you! There are a lot of formats and protocols, web services and web APIs encountered in this book - you do not need to know anything about them or about AJAX; you will find all you need in the book.
Shu-Wai Chow has worked in computer programming and information technology for the past eight years. He started his career in Sacramento, California, spending four years as the webmaster for Educaid, a First Union Company, and another four years at Vision Service Plan as an application developer. Through the years, he has become proficient in Java, JSP, PHP, ColdFusion, ASP, LDAP, XSLT, and XSL-FO. Shu has also been the volunteer webmaster and a feline adoption counselor for several animal welfare organizations in Sacramento. He is currently a software engineer at Antenna Software in Jersey City, New Jersey, and is finishing his studies in Economics at Rutgers, the State University of New Jersey. Born in the British Crown Colony of Hong Kong, Shu did most of his alleged growing up in Palo Alto, California. He lives on the Jersey Shore with seven very demanding cats, four birds that are too smart for their own good, a tail-less bearded dragon, a betta who needs her tank cleaned, a dermestid beetle colony, a cherished Fender Stratocaster, and a beloved, saint-like fianc¿.
Amazon.com で最も参考になったカスタマーレビュー (beta)
I learned about XML/RDF/REST in college with Java as the language of choice, and I've been able to use some APIs in the past with the help of PHP client classes. This book, however, covers a lot of different technologies in less than 300 pages, and it gives you what you need to know to not be dependent on client classes provided by the myriad of services out there, which is extremely helpful since you can't always expect a drop-in client class to be available.
And even if you think that as a web developer you have no plans of ever building a web application or mashup service, there's still the chance that your employer or some client will someday need one of these services on a project. In that sense, the things taught in this book are pretty much required knowledge for any web developer these days, because as much as web 2.0 might be a fad, all the alphabet soup technologies involved are not. We'll be using them for many, many years to come.
In short, I recommend this book. Even if you know this stuff pretty well, this book still offers a lot to learn.
The book dedicates the majority of each chapter to more general concerns than just interfacing with the system in the chapter's title. So Chapter 2--"Buy It On Amazon"--spends most of its time exploring XML-RPC and REST approaches and building tools to work with those different styles of interface. Similarly the next chapter spends most of its time introducing WSDL, XML Schema and SOAP before showing how they can be used with Microsoft Live Search.
In fact, that chapter may be one of the best introductions I've seen for developers who need to quickly grasp the basics of WSDL and SOAP, a topic that can far too easily get bogged down in complexity that isn't needed for basic usage. With the WS-* stack quickly and for good reason going out of fashion hopefully most developers won't have to spend much time with it, but a simple overview is still very handy.
I was intrigued to see the final chapter diving into use of RDF with the RAP toolkit. Like the SOAP section, this managed to boil the basics of RDF down very well and should help most moderately experienced PHP developers to get up to speed quickly.
Aside from a closing section on race conditions, not much time is given to handling interruptions in service from third-party services and in a book focussed on mashups that's disappointing, particularly as the number of services, and so the range of fallback options, is increasing. Some of the examples are likely to fail if services time out and it would be good to spend some time on helping developers avoid that.
Reading the book as someone who has mostly left the PHP fold for pastures new was a reminder of how easy tools like hpricot make life for screen scrapers, but also that good structure can emerge in PHP code and that the SOAP tools are actually quite good for simple uses. The book is unlikely to appeal to those who don't do much work with PHP, but if you're a PHP developer and want to dive into mashups and web services for the first time, it's worth a look.
Disclaimer: I was sent a copy of this book for review by the publisher, and offered another in return for a timely review.
development. He dives in and from the beginning I was trying things out. The author also gives excellent project description and breakdowns on what must be done to get it going.
One of my favorites from the book was the section on screen scraping. Something I havent had to do in a few years and it was awesome to get another perspective on how to do this. The book covers a few APIs and services, Google map, Amazon, Youtube to name a few. He brings up excellent detail on how to use and access these services. The author gives enough information without overloading the reader.
All in all a very good book. One I plan on recommending to my peers. It has made web development a bit more enjoyable and more knowledge in areas where I was weak. it never hurts to learn more!
Most technology-related books on the shelves are several inches thick and an inherently daunting chore to sift through. Luckily, this book is not one of those. Do not let the size fool you, though; it is positively packed with useful information. It hits the high points of each topic it covers, giving you enough in the way of code samples and step-by-step explanations to get started, as well as resources to help you get better acquainted with topics that might be of particular interest to you.
The book is divided into six chapters, each of which covers a set of particular protocols, data formats, and APIs for acquiring and processing data in order to create a particular mashup application. These projects include:
A search engine to find products on Amazon by their Universal Product Code
A search engine to combine results from MSN and Yahoo!
A video jukebox that pulls songs from Last.fm and videos from YouTube
A traffic incident reporting application that sends SMS alerts
An illustrated tube station line map using Google Maps and Flickr for related photos
The book's structure and layout make it easy to follow, whether you prefer to read it linearly or jump around to specific sections. It is an excellent reference that I can see myself returning to time and time again.
One of the strengths of the book is that it has a very wide base of coverage. It starts by introducing basics in interacting with web services and extracting the desired data from their responses using core PHP libraries. The REST, XML-RPC, and SOAP protocols and the WSDL standard are all covered in enough depth to get you started, so you can work with a web service regardless of the protocol or protocols it offers. The author does an excellent job of selecting example web services and data standards from large and well-known to small and obscure. For real world APIs, you will find the likes of Amazon, YouTube, Google, and Flickr, as well as sources that might not be household names, such as the Internet UPC Database. Data standards include general formats like XML, RDF, and JSON and more specialized formats like RSS and XSPF.
Another strength is that the book encourages good principles from the start. It advocates object-oriented design principles for code reuse and a DRY philosophy. It suggests using third-party libraries such as those in PEAR in order to avoid unnecessary reinvention of the wheel, but still shows you how to roll your own if and when it becomes necessary. The books also covers usability, particularly in the last chapter when it discusses AJAX and race conditions, and pays special attention to application security, an area of increasing concern in web applications. Unlike some books, this one includes tips for development outside its own showcased projects to alleviate you from having to spend your own time troubleshooting common issues or digging for solutions to "gotcha" situations.
And last but certainly not least, the book demonstrates that sometimes you have to be resourceful in locating and acquiring your data, particularly in Chapter 5 where one of my own areas of interest, web scraping, is covered. The topic is explained in plain language and supplemented with examples walking you through exactly how it can be used to acquire data for your own mashups. Web scraping is not a frequently broached topic and I applaud the author for making a point to include it. I believe it is a genuinely useful methodology that can help in data acquisition when no other options are available.
I cannot give the book an entirely glowing review, though. There are some errata present, both in content and code samples. Most are small, but some are enough to throw off a reader not already familiar with the material being covered. I've submitted some of these via the publisher's web site already, though I have yet to receive any related communications or see them show up on the web site at the time that I write this review. These issues are able to be corrected, though, and the quality of the book's content outshines them.
Overall, PHP Web 2.0 Mashup Projects is an excellent example of creativity in finding new ways to aggregate data sets in useful combinations. It is a testament to the possibilities of the internet when access to data is opened up and freedom to use that data enables developers to create exciting and inspiring new solutions. Mashups show the internet's potential increasing in leaps and bounds and this book can get you on your way to contributing to their future development.