There are 2 aspects I have mixed feelings about:
- There is an ambiguity between the title and the content of the chapter. I thought the chapter was primarily focused on WinRT. Actually the word "architecture" in the title depicts more than WinRT while I thought it would be WinRT-related only. I may be wrong on that, but it is what I was thinking. Look at the bottom of the page, "We'll first take a look at what WinRT is and how it related to .NET and .NET metadata". A few lines later: "We need to understand what WinRt is and it isn't, so let's start with a look of the overall architecture that supports Metro style apps". Clearly I don't like the approach of describing the overall architecture for 4-5 pages before starting explaining WinRT. Or change the chapter title and rephrase. Or add a new chapter that will focus on the overall architecture and an other one focused on WinRT.
- Based on the first point, while reading the chapter, I didn't understand why the main figure 2.1 wasn't focused on WinRT. In cascade, I suggest you to provide an overhaul picture on WinRT. Ok it is COM + .NET metadata; but it would be great to see it visually illustrated. Whenever the content is about interaction between components, it deserves an illustration: wrapper, language, projections, com, metadata
Other remarks:
- the title "COM + .NET metadata == WinRT" is unusual and odd, which doesn't suit well with the rest of the book.
- p.30 "The Language projection": you define it and then "More on that in the next section". And p. 34 "Built for multiple language" you wrote "More on that in a moment". Those forward references mean there is something illogically defined (and tend to distract my attention).
- p. 41 "2.3. client technologies and languages". To me "projection" is a key word and should be mentioned. Actually Client technologies and languages should be placed at the beginning of the chapter as Javascript is the counterpart of C# and XAML. This would avoid forward references mentioned above.
- p. 41 About Javascript: Why don't you mention WinJS?
- p. 42 in 2.4. last line "Remember, anything that starts with windows.* is winRT, everything else is .NET"." Remember" is irrelevant as that remark matches chapter 3 about Async
- p. 43 System.Linq* : Linq remains in .Net, not in WinRT. I don't understand why you suffix it by "*"
- p. 42 and 43 about the table: You should add a thirst columns whose value would be .NET or WinRT. It would avoid confusion because "*" is discrete and may be unnoticeable.
|