Cheesebaron (3) [Avatar] Offline
#1
I have some notes about chapter 1 that I want to share.

First of all I think there is a lot of information crammed into this chapter. Most of it is very briefly described, which I guess is fine, since there could be a big series of books written about all the stuff mentioned.
My concern is that some people might get thrown off all this information thrown at them. It might be a non-issue, but I just wanted to mention it.

Page 3: maybe mention, if you find it relevant, that even a lot of businesses favor the bring your own device (BYOD) approach and that they cannot know what exact device that is, which is why they make apps for both major platforms. There are some businesses, which sell very expensive equipment, which can be controlled from mobile devices. I've seen that in many such cases that the business dictate which exact models are supported, in some cases they provide the device.

Page 5: Cordova essentially runs in a browser. Hence Cordova's performance and capabilities is limited by that browser. This is problematic, especially on Android, where there is a lot of fragmentation between OS versions. Hence, the app might work fine on one device, but perform terribly on another. I don't think this was really clear, and you might want to mention it.

For the comparison, it might also be interesting to take a look at how react-native compares against Xamarin.

Page 5: You write that the device provides the API. However, you could argue it is the OS or the SDK. Just a refinement.

Page 11: I would maybe not say that Xamarin is Free. However, more that it is bundled with Visual Studio and Xamarin Studio. You might also want to mention limitations of the non-enterprise version, which does not allow profiling and bundling DLL's into native code.
Fergus (4) [Avatar] Offline
#2
I agree that React Native needs to be mentioned in the "four different mobile development platforms you could choose". I mean for many many devs the choice is going to be Xamarin or ReactNative; or for JS devs React Native first and then maybe Xamarin. Even writing a .Net language you can choose F# Fable React Native, so not mentioning RN at all has got to be wrong.

At the end of this chapter, you write that "Xamarin native apps are apps built in C#", which is not entirely true. I don't blame you, the Xamarin website only mentions C# (LOL) but you can, of course, develop Xamarin apps in F#:
https://developer.xamarin.com/guides/cross-platform/fsharp/