There is so many great tutorials on the internet about how to create mobile apps for iOS devices such as the iPhone and iPad, but very few that cover enterprise mobile development requirements - authentication, business processes, connecting with existing systems etc. I thought that I would try and change that by combining the best of both worlds: write a series of tutorials on how to build mobile apps using Swift, Apple's fantastic new programming language, and write the tutorials designed to assist enterprise developers.
These tutorials are designed to take you from zero experience in iOS development and mobile app design, to building complete native mobile apps. Throughout the series we are going use the Salesforce1 Platform as the mBaaS provider. I work for Salesforce.com in our developer relations team where, almost on a daily basis, I meet with enterprise developers that are being asked to extend salesforce into custom mobile apps, but don't know where to get started. The Salesforce1 Platform provides some amazing features for mobile developers including instant RESTful APIs for all data entities and business processes, cloud based logic that may be shared between mobile and enterprise apps, identity services, and more - all the kinds of things you want to have taken care of, and let you focus on extended business apps to iOS devices.
But that's enough talking. Let's get into the tutorials.
The TutorialsThe list of tutorials below provide a path to begin your journey in learning Swift and building enterprise mobile apps. These tutorials are intended to be a living, and evolving, resource. The goal is to produce a new tutorial roughly each week.
Introduction to iOS
Intro to Storyboards, UI and ControllersWith a basic understanding of Swift under our belt, this tutorial will introduce you to the UI controls and framework within XCode.
Learn the Salesforce Mobile SDK
Connecting ViewControllers and Tables to Salesforce DataNow that we have our UI and data, we can connect everyhthing together to finish off our mobile app.
Adding Sync and Encrypted Offline SupportMany enterprises require the ability to sync data and still information securely offline. This tutorial which teach you have to use SmartSync and SmartStore within the Mobile SDK.
Deploying and Testing on DevicesUp until now, we have been developing entirely on the iOS simulator. It's time to get your app onto your physical device and test it out. This tutorial will teach you how to work with Apple's developer certificates, as well as cover tips on deployment if you are part of an (Apple Developer) enterprise team.
Using Test Flight for Beta TestingTestFlight is an amazing tool for getting your app into the hands of your users before you list it officially in an appstore. This tutorial will show you how to do.
Get Your App into the Public or Private Apps StoresIt's time to put all of your hard work out there for the world to see. This tutorial will teach you how to get your app into the public Apple App Store, as well as how to list it in an enterprise app store just for your organization.
Adding HealthKitHealth is going to be a huge focus for many connected devices. This tutorial will show you how to use HealthKit, and potentially use it to promote employee health and well being.
Adding HomeKitAs we see more and more devices in our home connected to the internet, there are infinite possibilities for organizations to improve customer service and support. This tutorial will leverage the Salesforce Service Cloud and the Salesforce1 Platform to introduce you to next generation app ideas for the connected home.
Adding CloudKitAs more and more businesses move their systems to the cloud, it will become increasingly important to connect across clouds for a comprehensive view of customers. This tutorial will show you how to leverage both the Salesforce1 Platform and CloudKit to understand more about the customers using your apps.
Adding Twitter CrashlyticsLike it or not, apps crash. The most important thing is knowing why. This tutorial will leverage Twitter Fabric to include Crashlytics to gain valuable insights why your app crashed, and how to fix it - fast.
Authors and Contributors
All tutorials are written by @quintonwall, but hopefully I'll get some help from the community as we build these out. If you are interested in contributing to the effort, please send me a message on Twitter.Tweet