In 2000, I started my first PalmOS mobile app for an inventory-tracking project. The initial project was a full-staffed team effort that consisted of mobile developers, SAP consultants, supply-chain subject matter experts, middleware developers, QA testers, architects, business sponsors, and so forth. JavaME came up strong in 2002, followed by Pocket PC/Windows Mobile. I did several mobile projects in which I converted mobile apps to the Pocket PC platform by blindly translating JavaME code to C# .NETCF mobile code. These “translation” efforts prolonged the whole product life cycle. The project achieved higher ROI as the product life extended, because the extra cost of translating mobile code was surprisingly low. Ever since then, I have been translating front-end mobile apps among JavaME, BlackBerry, and Windows Mobile platforms.
In early 2009, by repeating the same porting process, I created my first iOS app by translating a Windows mobile app. That started my iOS programming journey, and later it was a no-brainer for me to try porting to Android. Most mobile apps are platform agnostic. When you have the whole solution completed for either iOS or Android, all the business and technical issues have been verified and the other deliverables and project artifacts are already reusable. It would be a waste not to port it to the other platform. Earlier this year, I wrote my first book, Migrating to Android for iOS Developers, to share my beliefs and experiences. After Swift was introduced at Worldwide Developers Conference (WWDC) 2014, I decided to write this book because the similarity between Java and Swift makes the porting method even easier while the same ROI analysis remains true.
The primary objective of this book is to help experienced Android developers leap into native iOS–Swift mobile development. It is easier than you think, and this book will make it even easier with Android analogies and mapping guidelines. You can immediately translate common mobile use cases to iOS.