4 ms·
> I do not understand, nor have any sympathy for, all these people who insist upon using Xcode > there are so many alternative toolsets you can use Actually
by AsyncAwait 10y ago
> I do not understand, nor have any sympathy for, all these people who insist upon using Xcode
> there are so many alternative toolsets you can use
Actually no, if you want the latest, most supported tools, frameworks APIs etc. you have to use Xcode.
Most of us don't want to use Xcode, but we also don't want to use C#, (Swift is actually very nice), which IS NOT a native solution.
- ghuntley 10y agoHow does one define `native`? To me, native is using the platform API's exactly - 1:1 - with zero abstractions. With Xamarin you do exactly that, in either csharp or fsharp. When using Xamarin a UIViewcontroller still is a UIViewController, you'll be directly interacting/pinvoking the underlying APIs that you already know and potentially hate :p (cough Android). See http://continuous.codes/ http://continuous.codes/ for an example of what can be done with F# and Xamarin.
- invalidname 10y agoThat is one way to define native. Another is to use the platform native source code and provide access to that. E.g. on Android Xamarin includes an overhead due to constantly passing thru the slow JNI bridge when it needs to communicate with the native UI widgets. It also includes a relatively large overhead because of standard C# libraries that need to be included on iOS/Android. OTOH Codename One ( https://www.codenameone.com/ https://www.codenameone.com/ ) has a very different interpretation of "native". They use their own widget toolkit like QT which makes them "less native" in that regard. But they are native to Android (being Java based) and translate directly to C/Objective-C which means you can literally write OS native code and use native widgets within the hierarchy. I think native is a worthless word in that regard as it doesn't properly convey meaning in these sort of complex situations. Once PhoneGap started billing itself as "native" this all went out of the window...
- saurik 10y ago> Actually no, if you want the latest, most supported tools, frameworks APIs etc. you have to use Xcode. You can do all of this at the command line without having to use Xcode. All Xcode is doing is running a bunch of command line applications to accomplish what it does... it isn't some kind of evil magic, it is just a project manager; so close that broken IDE that is Xcode and write some makefiles: you can use the same iPhone SDK and use the same compilers and the same programming languages can you can build .apps and codesign things for distribution via the App Store and never once touch Xcode. I'm working on a project right now that uses app extensions and special entitlements and all kinds of crazy up-to-the-latest iOS magic, and I'm not using Xcode: you can too; it isn't even like it is complicated, and so I continue to have absolutely no sympathy.