One of the hottest discussions this week is that FB, Google and Uber might use Swift as a “first class” language. I really like this possibility. In iOS and MacOS development Objective-C looses its position rapidly, but it’s a surprise that it gets attention from companies that originally were focused on Web and Java languages. So, I hope that Oracle will continue to do whatever they are doing to reduce usage of Java language in the future.
Another long term process is future Swift 3.0 release. If you are developing apps with Swift 2.* then it’s non optional to subscribe to Erica Sadun and NatashaTheRobot and get latest and the best updates related to Swift.
Swift Style: Are you a 4-denter? Never thought it’s might be very important, but I falled into styling problems because of Ray Wenderlich examples and books. They use 2 spaces everywhere, but I prefer four. For me it is still – personal feeling of the text on the screen, but Open Source world and sites like RayWenderlich change it to kind of “school” you prefer.
Making the associated type parameter readable in protocols. One more thing about code readability.
Swift will do it again. Be prepared for 3.0 API Pruning. Removing more duplicated staff from the API, like:
.blackColor() will be
somethingForURL(url: NSURL) will be
somethingFor(url: NSURL). Bright side is that it’s really annoying if you type a sequence of calls to the same class (e.g.
UIColor.blackColor.colorWithAlphaComponent(…)), but it makes code less readable for Objective-C developers and might cause name ambiguity.
Using XCode’s schemes to run a subset of your tests. About a year ago I worked in the team of the very high skilled developers and they were really addicted by XCode schemes. Everything related to deployment and testing were organized in schemes. It was like a magic, especially because big amount of targets causes growing compexity of the code management, but it were several tricks to make it much simpler (like GIT dependencies and use of workspaces).
So, It was possible to change completely application behavior just by selecting a target. Since that I’m following this way and create at least two targets for the project, like Development and Release. It requires more attention when new files added to a project, but it allows easily to change app behavior and configuration, w/o code changes.
It’s interesting to read how similar approach can be applied to testing of the code.
Caishen framework. If you need good UI with validation and integration options for Credit Cards.
Google could make Swift a “first class” language for Android. Awesome? AWESOME. If it will come true. However, it will not happen “tomorrow”. Android low level libs written on C++ and need to be redeveloped, and high-level libs will require redevelopment. So… everything need to be redeveloped.
Android Studio 2.0 released. Still ugly and lagging on my MacBook, but features are great.
To update or not to update? Case study on how app updates may reduce revenue.
How to build a compelling Watch app. it’s really easy to create the app for Watch. It’s not a challenge in meaning of code development, but it’s a huge (HUGE) UX challenge.
Cover photo by Vincentiu Solomon