

Appcelerator Titanium: Up and Running: Building Native iOS and Android Apps Using JavaScript [Anderson, John] on desertcart.com. *FREE* shipping on qualifying offers. Appcelerator Titanium: Up and Running: Building Native iOS and Android Apps Using JavaScript Review: Waste of Time and Money - I am a native iOS developer looking into making the move to one of the cross platform frameworks. Appcelerator looks to be the best to transition to, so I was looking for a book to help in the move. This book isn't it! This book is a very high level look at Appcelerator's platform, has some code examples, but nothing truly helpful that you couldn't have gotten from Appcelerator's website. Review: Needs structural and editorial help - Pros : Concise Cons : Too many errors, Difficult to understand, Too basic, Not comprehensive enough Best Uses : Novice Describe Yourself : Designer, Maker, Developer I was happy to see a title about Appcelerator Titanium. I realize this book represents a significant effort by its author and editor, but I don't think it's up to O'Reilly's high standards. Even if all of the careless typographical and stylistic errors were fixed, there are still structural problems that make it a confusing and frustrating guide to an already complex framework. From cover to cover, here's a sampling of errors, omissions, and structural issues: - Long-winded and off-topic pablum about hardware configurations. These might be relevant to novice computer users, but developers likely have this stuff figured out or have opinions of their own. An example: "And the importance of memory is as true as ever. Additional memory for Mac or Windows will help speed up things. I expanded my MacBook Pro with memory bought from desertcart and it worked fine. Don't think that low-cost memory is cheap or will not work." (p 15.) - Sloppy editing. (e.g. "When you run the installer, it's a good idea not to change any of the defaults. It's a good idea not to change any of the defaults." on page 17.) - The notion of using an object as a namespace is introduced without explanation. (app = {...}, first seen on page 21.) Some examples use it, some don't. It probably deserves a quick explanation since it's a best practice in Titanium apps. At the very least, a promise that namespaces will be discussed in chapter 7 would help the reader. - Syntax highlighting errors in the PDF (e.g. page 37 and 38) - The version of the Titanium SDK covered -- 1.8.1 -- is long over a year old. This is particularly problematic in the API reference chapter. - Inconsistent styling in code samples. JavaScript allows a great deal of flexibility, but using arbitrary code style sets a poor example. (Example from the text include single vs. double quotes around strings, use of var when instantiating variables, semicolons, "e" vs. "evt" callback parameter names, inconsistent spacing around colons, etc.) - More typos: "Once you have a handle on the event that fired the event, you can generally find out what you need." Presumably should read: "Once you have a handle on the object that fired the event..." - Bizarre (il)logical thought progressions. For example, on page 49: "The TableViewRow is a very useful item. When I first started working with them, I thought they were a nice way to display data in rows, but not incredibly flexible. There are a few attributes you can set to show a left image, right image, caption, and a hasChild indicator. This will cause an indicator to be displayed on the right of the row to show there is more content, like a chevron arrow in iOS." The "when I first started" bit of the sentence primes the reader for some kind of "and then I found out..." revelation in the next sentence or two. It never comes. - Needless and vague editorial asides. On page 50, for example: "As you can see, the aspect ratio for the Android tablets is much "taller" than that of the iPad. I think this reflects Apple's ability to know what's best for the user and to build it even if it costs more. In the end, users appreciate the better user experience, and will pay for it. Since Android tablets and phones use more "off-the-shelf " components, the resolutions and aspect ratios might not be optimal for a great user experience." This *might* have been worth the ink if accompanied by some discussion on measurable implications of different screen aspect ratios on UX. Also, filler clichés like "As you can see" and "In the end" aren't necessary. - Framework conventions are introduced with zero fanfare or explanation in unrelated example code. For example, the "exitOnClose" and "layout" parameters make their debut in a picker control example in the with no explanation. (The layout parameter is briefly discussed in a later chapter, but upon first use an acnowledgement that the reader hasn't missed something and that these aspects of the API will be covered later.) - It looks like some content intended for chapter 5 didn't make it in. A summarizing graph on page 54 claims that the reader learned "how to add things to a standard control (a TableViewRow, in this case) to create a customized look". In fact, there's no sample code or example involving TableViewRow up to this point in chapter 5. - View parents / children and the display hierarchy are never introduced, so figuring out what the reference to .parent means on page 56 is an exercise for the reader. These are details of the Titanium API that deserve at least a paragraph for those uninitiated with the display list pattern. (View-as-container is never introduced. Maybe it could be introduced when oft-nested objects like TableViewRow are first mentioned earlier in the chapter? Or push the "Window and View Objects" section up?) - Figure 6-9 doesn't accurately reflect the output from the example code on page 86. The window background in the figure should be white, not gray. - The author champions fiddling with the prototype chain in the introduction to chapter 7 on page 93: "Prototypes are a very cool feature of JavaScript and should be exploited profusely." Despite this endorsement, he never offers an example of using this feature in the context of the Titanium API (or why this might be a bad idea), and instead the rest of the chapter shows how to customize Titanium objects by creating proxy objects rather than messing with prototypes. Prototyping is never mentioned again. - The "saying" quoted on page 94 is incorrect and conveys the opposite of the intended meaning: The author quotes "If you don't know where you're going, you'll probably get there." He probably meant to cite Yogi Berra's aphorism: "If you don't know where you're going, you might not get there." - In the example code on page 96, "TiCL.Util = {};" should probably read TiCL.Utils = {};" to follow the author's advice about mirroring the Titanium namespaces. (Indeed on the next page the author references a TiCL.Utils namespace.) - More sloppy editing on Page 97: "...but requiring three different parameter names" should read "...but require three different parameter names." - Chapter 9 (Distribution Methods) spends a lot of ink on iOS B2B and enterprise distribution, something a tiny fraction of developers are actually going to do and bears little relation to Titanium's influence on the release build / store approval / distribution process. - Typo on page 127: "if your phone or table supports it" should read "if your phone or tablet supports it". - The author completely ignores many cornerstone technologies in the Titanium stack, such as JSS, Alloy, CommonJS, etc. I learned a handful of useful things from this text, but major questions I started with about the structure of the API and best practices remained unanswered.
































































| Best Sellers Rank | #7,838,753 in Books ( See Top 100 in Books ) #1,773 in JavaScript Programming (Books) #2,357 in Mobile App Development & Programming #11,021 in Computer Programming Languages |
| Customer Reviews | 3.4 3.4 out of 5 stars (4) |
| Dimensions | 7 x 0.33 x 9.19 inches |
| Edition | 1st |
| ISBN-10 | 1449329551 |
| ISBN-13 | 978-1449329556 |
| Item Weight | 8 ounces |
| Language | English |
| Print length | 154 pages |
| Publication date | April 23, 2013 |
| Publisher | O'Reilly Media |
C**G
Waste of Time and Money
I am a native iOS developer looking into making the move to one of the cross platform frameworks. Appcelerator looks to be the best to transition to, so I was looking for a book to help in the move. This book isn't it! This book is a very high level look at Appcelerator's platform, has some code examples, but nothing truly helpful that you couldn't have gotten from Appcelerator's website.
A**E
Needs structural and editorial help
Pros : Concise Cons : Too many errors, Difficult to understand, Too basic, Not comprehensive enough Best Uses : Novice Describe Yourself : Designer, Maker, Developer I was happy to see a title about Appcelerator Titanium. I realize this book represents a significant effort by its author and editor, but I don't think it's up to O'Reilly's high standards. Even if all of the careless typographical and stylistic errors were fixed, there are still structural problems that make it a confusing and frustrating guide to an already complex framework. From cover to cover, here's a sampling of errors, omissions, and structural issues: - Long-winded and off-topic pablum about hardware configurations. These might be relevant to novice computer users, but developers likely have this stuff figured out or have opinions of their own. An example: "And the importance of memory is as true as ever. Additional memory for Mac or Windows will help speed up things. I expanded my MacBook Pro with memory bought from Amazon and it worked fine. Don't think that low-cost memory is cheap or will not work." (p 15.) - Sloppy editing. (e.g. "When you run the installer, it's a good idea not to change any of the defaults. It's a good idea not to change any of the defaults." on page 17.) - The notion of using an object as a namespace is introduced without explanation. (app = {...}, first seen on page 21.) Some examples use it, some don't. It probably deserves a quick explanation since it's a best practice in Titanium apps. At the very least, a promise that namespaces will be discussed in chapter 7 would help the reader. - Syntax highlighting errors in the PDF (e.g. page 37 and 38) - The version of the Titanium SDK covered -- 1.8.1 -- is long over a year old. This is particularly problematic in the API reference chapter. - Inconsistent styling in code samples. JavaScript allows a great deal of flexibility, but using arbitrary code style sets a poor example. (Example from the text include single vs. double quotes around strings, use of var when instantiating variables, semicolons, "e" vs. "evt" callback parameter names, inconsistent spacing around colons, etc.) - More typos: "Once you have a handle on the event that fired the event, you can generally find out what you need." Presumably should read: "Once you have a handle on the object that fired the event..." - Bizarre (il)logical thought progressions. For example, on page 49: "The TableViewRow is a very useful item. When I first started working with them, I thought they were a nice way to display data in rows, but not incredibly flexible. There are a few attributes you can set to show a left image, right image, caption, and a hasChild indicator. This will cause an indicator to be displayed on the right of the row to show there is more content, like a chevron arrow in iOS." The "when I first started" bit of the sentence primes the reader for some kind of "and then I found out..." revelation in the next sentence or two. It never comes. - Needless and vague editorial asides. On page 50, for example: "As you can see, the aspect ratio for the Android tablets is much "taller" than that of the iPad. I think this reflects Apple's ability to know what's best for the user and to build it even if it costs more. In the end, users appreciate the better user experience, and will pay for it. Since Android tablets and phones use more "off-the-shelf " components, the resolutions and aspect ratios might not be optimal for a great user experience." This *might* have been worth the ink if accompanied by some discussion on measurable implications of different screen aspect ratios on UX. Also, filler clichés like "As you can see" and "In the end" aren't necessary. - Framework conventions are introduced with zero fanfare or explanation in unrelated example code. For example, the "exitOnClose" and "layout" parameters make their debut in a picker control example in the with no explanation. (The layout parameter is briefly discussed in a later chapter, but upon first use an acnowledgement that the reader hasn't missed something and that these aspects of the API will be covered later.) - It looks like some content intended for chapter 5 didn't make it in. A summarizing graph on page 54 claims that the reader learned "how to add things to a standard control (a TableViewRow, in this case) to create a customized look". In fact, there's no sample code or example involving TableViewRow up to this point in chapter 5. - View parents / children and the display hierarchy are never introduced, so figuring out what the reference to .parent means on page 56 is an exercise for the reader. These are details of the Titanium API that deserve at least a paragraph for those uninitiated with the display list pattern. (View-as-container is never introduced. Maybe it could be introduced when oft-nested objects like TableViewRow are first mentioned earlier in the chapter? Or push the "Window and View Objects" section up?) - Figure 6-9 doesn't accurately reflect the output from the example code on page 86. The window background in the figure should be white, not gray. - The author champions fiddling with the prototype chain in the introduction to chapter 7 on page 93: "Prototypes are a very cool feature of JavaScript and should be exploited profusely." Despite this endorsement, he never offers an example of using this feature in the context of the Titanium API (or why this might be a bad idea), and instead the rest of the chapter shows how to customize Titanium objects by creating proxy objects rather than messing with prototypes. Prototyping is never mentioned again. - The "saying" quoted on page 94 is incorrect and conveys the opposite of the intended meaning: The author quotes "If you don't know where you're going, you'll probably get there." He probably meant to cite Yogi Berra's aphorism: "If you don't know where you're going, you might not get there." - In the example code on page 96, "TiCL.Util = {};" should probably read TiCL.Utils = {};" to follow the author's advice about mirroring the Titanium namespaces. (Indeed on the next page the author references a TiCL.Utils namespace.) - More sloppy editing on Page 97: "...but requiring three different parameter names" should read "...but require three different parameter names." - Chapter 9 (Distribution Methods) spends a lot of ink on iOS B2B and enterprise distribution, something a tiny fraction of developers are actually going to do and bears little relation to Titanium's influence on the release build / store approval / distribution process. - Typo on page 127: "if your phone or table supports it" should read "if your phone or tablet supports it". - The author completely ignores many cornerstone technologies in the Titanium stack, such as JSS, Alloy, CommonJS, etc. I learned a handful of useful things from this text, but major questions I started with about the structure of the API and best practices remained unanswered.
J**I
Helpful
This book showed me some of the key parts of Ttianium. Before I read the book I wasn't sure how Titanium differed from things like PhoneGap and now I see how using native controls is a big difference. It also shows how to make it easier to deal with iOS and Android differences. Seeing how to use modules is also a huge timesaver. Helpful to see how I can leverage my JavaScript skills towards Titanium project. All in all, well worth the time spent reading it.
Trustpilot
1 month ago
1 month ago