Development Blues? Need something new
Do you identify with this profile? You are a developer, you want to make mobile apps, you have either made a couple or are yet to make your mark, you have experience in languages that are not necessarily useful to create mobile apps. You could have tried various languages and still searching for that one to settle down with and fulfill your app store dreams. Are you facing an impediment? An unseen wall that is preventing you from achieving what you want?
This is a classic example of developmental blues. Your favourite language/technology does not allow you to do what you want or is limiting you from achieving the outcomes you are after. You cannot jump and change ship to Objective-C or other technologies as they are simply too daunting or are not what you want to spend time on. You could be coming from a background that could be PHP, JavaScript, Ruby or you could have had Lua, Python, dotNet, java type exposure. If you have been a regular reader at this site, or have come here due to the majority of the older articles, then you are dabbling with Lua. Lua is an amazing language however the frameworks that use Lua are now few as they were a couple of years ago and to be able to utilise the functionality of the platform, these frameworks require you to fork out a lot of money. Even after you do fork out money, you are stuck as you have to then add Objective-C code or C++ code to add the functionality you were after.
A lot of developers that were using Lua based frameworks like CoronaSDK, Gideros and Moai have moved on to alternative options, mainly to Unity and apart from the 3D, 2.5D and 2D functionality, they are also able to create/publish for the Web and Desktops.
It is now quite some time and you really have to have been in a time wrap not to have heard of this new kid on the block called Swift. From the time it was released in September 2014, it has been trending on twitter, some even created multiple twitter accounts to simply retweet or aggregate articles on Swift. The short of the long is in the time leading up to now, Swift has reached ver 1.2 and has undergone a lot of changes, there are new experts in these areas. However, the most interesting bit is that it is supported by Apple and is compatible with the Cocoa API (not 100% as it does not support or provide some functions). There are plenty of articles that have been written about the speed of Swift in comparison to C, C++ or even Objective-C. There are purists that still have a strong dislike for Swift but love their Objective-C.
The chances of someone that develops with Objective-C reading this blog would be very remote and most of the readers here are using or have used or planning to use Lua. Swift is easy to pick up and start learning, it is a language that would remind you of Lua in many ways but the major difference being that since Lua did not come with an IDE or an Editor that compiled practically at every change, you never knew about your errors or bugs and typos. However Swift is different, even before you can run your code, the compiler will let you know about the errors that it thinks you might have committed. Since it is typesafe, you need to assign the type of variables and if you accidentally change them elsewhere in your code, it highlights that for you, however in Lua you could change the values held in the variable and even overwrite your variables by adding a new local scope.
One fact that you cannot get away from is that you might end up using Xcode at some point of your development workflow. Since you will require a Mac to compile and Xcode on it, why not learn a bit about Xcode and start using it? Maybe dabble a bit with Swift and learn how to use it. Play with the features in the latest SDK and see how they work, perhaps write an app around them, which would otherwise be difficult or plain impossible using other frameworks.
One of the other hidden damage that using other frameworks cause is they tend to leave you behind with the latest SDK features AND more importantly also push you behind in your career as many organisations look for pure iOS and Java Developers. Gaming companies would look for Unity and C# experience. So unless the other frameworks become accepted as the defacto standard and organisations do not care about Objective-C, Java, C# as much, you would be at the other end of the buzz in Mobile development.
Ok, so you feel that you might want to start with swift, that's a good decision, because you can achieve more or less what you could using Objective-C (if you could use it) and write code that could run on both the Mobile and Desktop devices (with a little change as the base classes could be different). There are plenty of sites, screencasts and YouTube videos that can help you get started. There are a plethora of books on this subject. However there are only a couple that are applicable for beginners, the others are ports of their Objective-C version and could be recommended for Intermediate to advanced developer (in using Objective-C) and some others are pure translations between the Objective-C and Swift equivalent. Something like the Google Translate and the results could be similar where you can tell that it was machine translated.
This is promoting my latest book called Xcode 6 Essentials from Packt Publishing that helps you learn using Xcode and Swift. You could give it a try, if you are not up to it, there are plenty of free YouTube videos and blog articles that you can Google. If you want to consider this book, you can buy it from the Packt Website at https://www.packtpub.com/application-development/xcode-6-essentials or from Amazon
You can head to our ReviewMe site where the publishers have been kind enough to offer one lucky reader this title free in e-book format.
This is a classic example of developmental blues. Your favourite language/technology does not allow you to do what you want or is limiting you from achieving the outcomes you are after. You cannot jump and change ship to Objective-C or other technologies as they are simply too daunting or are not what you want to spend time on. You could be coming from a background that could be PHP, JavaScript, Ruby or you could have had Lua, Python, dotNet, java type exposure. If you have been a regular reader at this site, or have come here due to the majority of the older articles, then you are dabbling with Lua. Lua is an amazing language however the frameworks that use Lua are now few as they were a couple of years ago and to be able to utilise the functionality of the platform, these frameworks require you to fork out a lot of money. Even after you do fork out money, you are stuck as you have to then add Objective-C code or C++ code to add the functionality you were after.
A lot of developers that were using Lua based frameworks like CoronaSDK, Gideros and Moai have moved on to alternative options, mainly to Unity and apart from the 3D, 2.5D and 2D functionality, they are also able to create/publish for the Web and Desktops.
It is now quite some time and you really have to have been in a time wrap not to have heard of this new kid on the block called Swift. From the time it was released in September 2014, it has been trending on twitter, some even created multiple twitter accounts to simply retweet or aggregate articles on Swift. The short of the long is in the time leading up to now, Swift has reached ver 1.2 and has undergone a lot of changes, there are new experts in these areas. However, the most interesting bit is that it is supported by Apple and is compatible with the Cocoa API (not 100% as it does not support or provide some functions). There are plenty of articles that have been written about the speed of Swift in comparison to C, C++ or even Objective-C. There are purists that still have a strong dislike for Swift but love their Objective-C.
The chances of someone that develops with Objective-C reading this blog would be very remote and most of the readers here are using or have used or planning to use Lua. Swift is easy to pick up and start learning, it is a language that would remind you of Lua in many ways but the major difference being that since Lua did not come with an IDE or an Editor that compiled practically at every change, you never knew about your errors or bugs and typos. However Swift is different, even before you can run your code, the compiler will let you know about the errors that it thinks you might have committed. Since it is typesafe, you need to assign the type of variables and if you accidentally change them elsewhere in your code, it highlights that for you, however in Lua you could change the values held in the variable and even overwrite your variables by adding a new local scope.
One fact that you cannot get away from is that you might end up using Xcode at some point of your development workflow. Since you will require a Mac to compile and Xcode on it, why not learn a bit about Xcode and start using it? Maybe dabble a bit with Swift and learn how to use it. Play with the features in the latest SDK and see how they work, perhaps write an app around them, which would otherwise be difficult or plain impossible using other frameworks.
One of the other hidden damage that using other frameworks cause is they tend to leave you behind with the latest SDK features AND more importantly also push you behind in your career as many organisations look for pure iOS and Java Developers. Gaming companies would look for Unity and C# experience. So unless the other frameworks become accepted as the defacto standard and organisations do not care about Objective-C, Java, C# as much, you would be at the other end of the buzz in Mobile development.
Ok, so you feel that you might want to start with swift, that's a good decision, because you can achieve more or less what you could using Objective-C (if you could use it) and write code that could run on both the Mobile and Desktop devices (with a little change as the base classes could be different). There are plenty of sites, screencasts and YouTube videos that can help you get started. There are a plethora of books on this subject. However there are only a couple that are applicable for beginners, the others are ports of their Objective-C version and could be recommended for Intermediate to advanced developer (in using Objective-C) and some others are pure translations between the Objective-C and Swift equivalent. Something like the Google Translate and the results could be similar where you can tell that it was machine translated.
This is promoting my latest book called Xcode 6 Essentials from Packt Publishing that helps you learn using Xcode and Swift. You could give it a try, if you are not up to it, there are plenty of free YouTube videos and blog articles that you can Google. If you want to consider this book, you can buy it from the Packt Website at https://www.packtpub.com/application-development/xcode-6-essentials or from Amazon
You can head to our ReviewMe site where the publishers have been kind enough to offer one lucky reader this title free in e-book format.
Comments
Post a Comment