Swift support in AppCode? Follow
I realize it's early, with the announcement being less than an hour old, but...
Do you expect to support the new Swift language announced by Apple in AppCode?
(I'll file a feature request once the tracker is back online)
Please sign in to leave a comment.
Chris Goddard was faster than me: OC-10169
Cheers for sharing. Voted.
Swift was announced over 12 hours ago now, and STILL no AppCode support. What is JetBrains playing at?
OK, just kidding. Seriously AppCode folks you have my sympathy, as an announcement like this from Apple (very welcome though it is) must be a scary potential addition to your workload. Anyway, with your multi-language expertise I'm sure you can do it, and AppCode will eventually be as excellent a tool for Swift as it is for ObjC. Best of luck!
Please include my vote for this feature.
12 hours... for JetBrains, that's enough time to rebuild the IDE in native Objective-C code... er I mean Swift code. ;)
I'm curious as to whether or not they would have given companies like JetBrains a heads up? Kinda annoying if they didn't, but still love me some Apple. Jetbrains too for that matter.
I'd bet money the JetBrains developers were watching the keynote and spat out their drinks when Swift came up.
If they did, it was probably from enthusiasm.
They work on this stuff because they like programming languages.
Also, from what I've seen so far, Swift is a lot cleaner than (Objective-)C(++), so they can
likely build a nicer implementation.
They might even be able to borrow some work from other teams at JetBrains for stuff
like type-inference. Both the Kotlin and Scala language implementations use type inference.
Swift does put JetBrains in a difficult position. Keeping AppCode up to date with Xcode and Objective-C is an extraordinarily difficult task at best, adding Swift into the mix massively complicates things. I wonder if the revenue from AppCode would justify the extra complexity.
The announcement from Apple effectively shot Objective-C in the head but didn't kill it. Unfortunately, Swift is not yet in a position to take over and Objective-C will long be required for compatability and legacy maintenance. So, Objective-C may not be actually dead but the damage done has left it as a zombie language, at best.
(I'll be starting the coding on a new commercial iPad project in the next couple of weeks. The application will likely be around for several years. With the first phase due for delivery before OS X 8 or Xcode 6, the timing of everything is really unfortunate.)
Just use Swift.
XCode 6 beta works already. By the time the product you're working on ships
I don't think JetBrains is in a difficult position at all. They can now focus all their attention on Swift, and leave Obj-C be - Obj-C support is much better than XCode anyway and will be for a time to come. Also JB make IDEs for all sorts of languages - adding another is not a problem for these wizards. Since Swift's features are an amalgation of the best features of various other languages, I imagine that JB already has 99% of them implemented somewhere (Java, Ruby, Obj-C). "Only" - I'm a developer so putting that in quotes - only a matter of assembling together the right pieces.
Vacations have been cancelled for now.
Admittedly this is all idle speculation but...
I think it is highly likely that there will still be changes and enhancements to the Objective-C language, even if only to assist with Swift compatability. AppCode will still need to retain full compatability with any such changes. So, work on Objective-C must continue as if noting had happened. For now, Swift is an addition to the mix and doesn't yet replace anything.
I started a new project today and I'm experimenting with developing a parallel project using Xcode-6/Swift. So far, so good. At the moment the process is very slow because I am having to learn new Swift syntax with almost line of code, but I've hit no impassable barriers yet.
Ah, just found a barrier. I can't find any information on date and time handling in Swift.
Looks like common answer to all these questions is "Use Objective-C classes". So, NSDate, NSCalendar are the classes to use here.
Doh! I really should have thought of that for myself. :_| It never occurred to me to use "NS" classes in the Swift code. That makes porting code even easier.
var calendar = NSCalendar(calendarIdentifier: NSGregorianCalendar);
var components = NSDateComponents()
components.year = 1944
components.month = 6;
components.day = 6;
var dDay = calendar.dateFromComponents(components)
GCD is another good example of "do it the same way". :)
Semi-colons are mostly optional in Swift. Looking at my posting above, I can see that that's going to be a hard habit to break.
Also keep checking GitHub. Swift code is popping up there rapidly. There's a SwiftDate repository there, plus another date repository IIRC.
Please check AppCode 3.0.1 with basic Swift support: http://blog.jetbrains.com/objc/2014/06/appcode-3-0-1-update-xcode-6-and-basic-swift-support/
We appreciate all comments and suggestions as usual, but please note that only initial features are supported.
In my Java -> Scala experience it doesn't take that long -- a couple of days to a couple of weeks. (More if you're switching back and forth a lot naturally.)