Follow the Author
Ready to learn Windows 8 programming? Start Here!™
Here’s where you start learning Windows 8 app development
- Create photo and media galleries with built-in HTML widgets
- Interact with the system through live tiles, contracts, and view state detection
- Store and access data on the local device and via the Internet
- Access webcam, GPS, and other sensors embedded in the device
- Create your first programs and publish them to the Windows Store
About the Author
Dino Esposito is a well-known web development expert. He speaks at industry events, including DevConnections and Microsoft TechEd, contributes to MSDN® Magazine and other publications, and has written several popular Microsoft Press books, including Microsoft ASP.NET and AJAX: Architecting Web Applications.
Even though he's still a teenager (15 years old), Francesco Esposito has accumulated significant experience with mobile application development for a variety of platforms, including iOS with Objective C and MonoTouch, Android via Java, Windows Phone, and even BlackBerry. He wrote most of the code for IBI12--the official app for the Rome ATP Masters 1000 tennis tournament. When not writing apps, hanging out with friends, or practicing water polo, he likes going to school where his secret goal is to achieve the highest marks ever so he can get a scholarship and buy his own Surface tablet.
- Publisher : Microsoft Press; 1st edition (June 9, 2013)
- Language : English
- Paperback : 388 pages
- ISBN-10 : 0735675945
- ISBN-13 : 978-0735675940
- Item Weight : 1.47 pounds
- Dimensions : 7.38 x 0.82 x 9 inches
- Best Sellers Rank: #7,164,561 in Books (See Top 100 in Books)
- Customer Reviews:
About the author
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
About a third of the book covers essential fundamentals required to create an HTML5 Windows 8 application. The book gives a quick overview of Windows 8 and a more detailed overview of installing and working in Visual Studio 2012. Those who have worked with other IDEs, and are new to Visual Studio, should be able to quickly learn how to create and save a new project, choose the correct template (starting point), the file structure of a project, and debugging a project.
The authors ensure that before diving into much more Windows 8 development, we understand a few more fundamentals. These include the pillars of software development as applied to Windows 8, programmatic and declarative manipulation of HTML pages, and the lifecycle of a Windows 8 application (running, suspended, terminated, or not running). In another effort to perhaps make us feel comfortable, developing Windows 8 apps with HTML5 is compared to creating a series a webpages.
Once the book goes into creating an actual Windows 8 application, it moves quickly and incrementally adds, or builds upon, what we are learning. The author starts getting into the development by focusing on the UI, which involves working with images. After understanding the images folder, a logo is created for the app, and an image for the splash screen. An overview of each type of file found in the projects root folder is given. Our first application is a form that collects data. Initially we do not learn how to save the data since that is a topic covered towards the end of the book.
Our first applications are all based on a new, blank, template. The author does spend time telling us about other types of projects we can create as our starting point; but mainly focuses on a Navigation App. We are given different examples and case scenarios of when, or why, to choose a certain type of starting application. In our first navigation app, we learn how to create an application that is very user friendly and easy to navigate. In the app, we have several image and video galleries.
The concept of running an application in the foreground, as allowed in Windows 8, caught many by surprise. Since the apps run in the foreground it is important to not only allow the app to run in full screen, but also allow the user to run it in split screen, or in a smaller space. Running the application in a smaller space is called Snapping, and it means the app will normally run in a 320px x 760px space (minimum space, it may increase with screen size). Developers should design the app to look presentable in full screen, weather the device is held vertically or horizontally, or the user takes advantage of snapping the app so they can see two things at once.
Another element that caught consumers by surprise with Windows 8 was the concept of apps being able to focus on getting a single task (or a few tasks) completed. An operating system is dependent on its apps to run well and complete tasks successfully. Although Windows 8 apps might be independent, it is still possible to allow apps to communicate with one another through Contracts. The authors cover the communication between apps, but also the ability to communicate with Windows 8 OS through Extensions. To improve the user experience, Charms are also important and as developers we must allow users to search and change application settings.
Two chapters, 10 and 11 are devoted to adding data, and saving data from our application. Data can be saved locally, which is the easiest method to store data; but the authors spend time showing us how to create an app that saves data in a roaming folder; something the authors compare to an Apple ad that once aired on TV, in which a user begun a task on a mobile devise, and upon arriving home, they were able to pickup the task and complete on their desktop. In the data section, RSS and JSON were covered. With JSON, the author walks us through creating an example by pulling images from a Flickr account.
The last thing that we learn is how to create Live Tiles – the tiles introduced by Microsoft in Windows Phone that keep us up to date with the latest status. The book gives us a guide of when, or why, to use Live Tiles, how to create these, and how to use data from our applications.
I greatly enjoyed the flow of the book and the details provided in each section. The book was an easy read and I felt as if I was progressing in my knowledge of building apps and also seeing the progress applied as my app improved. With that said, I do think I would have preferred the authors had built exercises into the book – not having exercise sections made it a bit challenging to determine when they were giving a code snippet in support of a section, or a code snippet to add to the applications being built. Since the lack of exercise sections started to confuse me a bit, I gave up on trying to build the apps the authors were walking through and instead started building my own application and applying the different parts being covered in the book. I did review some of the solution files created for this book, and found them to be very helpful when I got stuck on a problem, or even see them as good starting points for future applications I would like to build.
Aside from the flow between teachings and exercises, I would also suggest that in future revisions, Live Tiles not be one of the last sections, but covered sooner. I do understand why Live Tiles was covered last – it was because we needed to learn about data before populating Live Tile information; but I think that have a pre-notion of Live Tiles would give us a better idea when working wit the chapters covering data. Mentioning data, I think more information should have been provided – such as reading from and writing to SkyDrive, Dropbox, and other popular services. Also working with different type of data other than JSON or RSS, such as XML.
Dino and Francesco Esposito did a great job writing this book. Those who are creating a Windows 8 app for the first time using HTML5 will find the book to be very useful. Although the authors do not recommend this book for those who have created a Windows 8, or similar, I would still recommend the book if you struggled through building that first HTML5 app, or want more clear guidelines. Those with existing development experience, whether it be COBOL, or an older .NET language, or with web development experience, should have no issues following this book thanks to the strong foundation it provides.
"Originally published by the Denver Visual Studio User Group at [...]"