Yes. I've built two apps on it. One is an Emoji Social network like Yo, but with Emojis, and the other is a Weather app that uses forecast.io.
This is what I've been telling everyone. Swift does not make most of iOS App development easier; For the average person, the only benefit your'e going to get is no header files and 0%-30% shorter class files. The majority of iOS is about learning the libraries and API's. The main benefit of of Swift for the common user are that you can easily define and use your variables without giving them a type. There are also some niceties in Swifts functional programming style. As a developer on the iOS platform for the past 6 years, my problems were never with obj-c, they were with all of the "other stuff."
If you don't understand how to layout an app and use a UITableViewController correctly, Swift doesn't help. If you don't understand the delegate callback or segue design patterns, Swift doesn't help. If you don't understand the PKI required to create your Dev and Prod certificates, Swift doesn't help. If you don't don't know to use Interface Builder to connect your UI's to your controllers, Swift doesn't help. If you don't know what keys to put in your info.plist to tweak the status bar or import certain settings, Swift doesn't help.
Now from the advanced developer perspective, Swift is amazing. If you have a chance to watch Apple's advanced Swift talk (404 Advanced Swift), that's where you really see the power of the language come into it's own. You can literally re-write the language with the language. Mattt Thompson published a public gist[1] a few days ago where he showed how you can define mathematical constructs of unicode characters that aren't natively defined in the language. So for example, you could define the symbol square root.
Obviously, you'd have to do a bit more work on that to handle negative square roots and get into imaginary numbers, but things like this give you a glimpse into the power of the language. The real power of Swift is probably not going to be used by a lot of app Developers, but the potential of the language is a lot better than Objective-C ever had.
Plus, you can now use emoji's as variables so that right there is worth learning it.
If you don't understand how to layout an app and use a UITableViewController correctly, Swift doesn't help. If you don't understand the delegate callback or segue design patterns, Swift doesn't help. If you don't understand the PKI required to create your Dev and Prod certificates, Swift doesn't help. If you don't don't know to use Interface Builder to connect your UI's to your controllers, Swift doesn't help. If you don't know what keys to put in your info.plist to tweak the status bar or import certain settings, Swift doesn't help.
So I learned Swift in like a day, but all that stuff you listed I have absolutely no clue about. I just began iOS development and it's kind of overwhelming to open Xcode for the first time to see 57 different panels with 33 options in each panel (compared to opening Vim for instance haha).
What would you recommend as a good resource for learning the "correct" way to use things like UITableViewController? Of course I can hack together an app that functions well enough but I'd like to use the API in the proper, idiomatic way if possible.
The best way to learn correctly is to have someone who knows what they are doing sit next to you and explain what's going on with the IDE. I did this last week with this cool dev @firebase and it was great. I just told him what to click, what to press, where to go, how to set stuff up, and he did all of the controls. He learned the IDE, and how to build a project.
Second best way to learn would be to check out Apple's code samples and training videos. They usually have good syntax and proper usage although most of Apples examples are in Objective-C right now. They still give you a good understanding of what's going on. Taking an online class is also another avenue I would place at the same level as code samples. If you can find an online class that you find interesting, that's another way to get familiar with xCode.
Third best way would be to look at examples on cocoacontrols.com or github.com for code examples. The only challenge with this is that you might not get the best code structure as a lot of developers are just copying/pasting from other code and aren't really architecting their software correctly. That being said, you can still find code that works.
Comments
Yes. I've built two apps on it. One is an Emoji Social network like Yo, but with Emojis, and the other is a Weather app that uses forecast.io.
This is what I've been telling everyone. Swift does not make most of iOS App development easier; For the average person, the only benefit your'e going to get is no header files and 0%-30% shorter class files. The majority of iOS is about learning the libraries and API's. The main benefit of of Swift for the common user are that you can easily define and use your variables without giving them a type. There are also some niceties in Swifts functional programming style. As a developer on the iOS platform for the past 6 years, my problems were never with obj-c, they were with all of the "other stuff."
If you don't understand how to layout an app and use a UITableViewController correctly, Swift doesn't help. If you don't understand the delegate callback or segue design patterns, Swift doesn't help. If you don't understand the PKI required to create your Dev and Prod certificates, Swift doesn't help. If you don't don't know to use Interface Builder to connect your UI's to your controllers, Swift doesn't help. If you don't know what keys to put in your info.plist to tweak the status bar or import certain settings, Swift doesn't help.
Now from the advanced developer perspective, Swift is amazing. If you have a chance to watch Apple's advanced Swift talk (404 Advanced Swift), that's where you really see the power of the language come into it's own. You can literally re-write the language with the language. Mattt Thompson published a public gist[1] a few days ago where he showed how you can define mathematical constructs of unicode characters that aren't natively defined in the language. So for example, you could define the symbol square root.
Obviously, you'd have to do a bit more work on that to handle negative square roots and get into imaginary numbers, but things like this give you a glimpse into the power of the language. The real power of Swift is probably not going to be used by a lot of app Developers, but the potential of the language is a lot better than Objective-C ever had.Plus, you can now use emoji's as variables so that right there is worth learning it.
[1] - https://gist.github.com/mattt/f457625af116721ffb57
So I learned Swift in like a day, but all that stuff you listed I have absolutely no clue about. I just began iOS development and it's kind of overwhelming to open Xcode for the first time to see 57 different panels with 33 options in each panel (compared to opening Vim for instance haha).
What would you recommend as a good resource for learning the "correct" way to use things like UITableViewController? Of course I can hack together an app that functions well enough but I'd like to use the API in the proper, idiomatic way if possible.
The best way to learn correctly is to have someone who knows what they are doing sit next to you and explain what's going on with the IDE. I did this last week with this cool dev @firebase and it was great. I just told him what to click, what to press, where to go, how to set stuff up, and he did all of the controls. He learned the IDE, and how to build a project.
Second best way to learn would be to check out Apple's code samples and training videos. They usually have good syntax and proper usage although most of Apples examples are in Objective-C right now. They still give you a good understanding of what's going on. Taking an online class is also another avenue I would place at the same level as code samples. If you can find an online class that you find interesting, that's another way to get familiar with xCode.
Third best way would be to look at examples on cocoacontrols.com or github.com for code examples. The only challenge with this is that you might not get the best code structure as a lot of developers are just copying/pasting from other code and aren't really architecting their software correctly. That being said, you can still find code that works.