Update:
Due to the announcement by Parse to shutdown it is services, the examples mentioned in this article related to Parse are no longer valid. However, the same principals are valid on other cloud platform such as as Microsoft Azure.
Background
For the past half year, I have been delving into iOS and developed and release three iOS apps to App Store. The main reason of delving into iOS was close the native mobile app gap that I was ignoring for a long time. I have been doing mobile web development for past three years but somehow (may due to my laziness), I did not get opportunity to develop a native app. I thought of choosing android instead of iOS but then due to some facts on the ground I decided to take the iOS path. Now when I developed the apps for iOS using Swift programming language. My main purpose was to learn and prove my learning by developing and releasing the apps to app store. The apps were pretty simple and did not require any mobile services back-end. But as I added more features in my apps, I started to feel more need to have mobile service back-end. I started to look into different mobile services offerings and this led me to Parse SDK. This is the background of this post.
Mobile Services Backend
What is meant by Mobile Services Backend?
Mobile Services Backend also referred as Mobile Backend by some vendors is a set of services, APIs and SDKs that enable a mobile app to interact with central resource (usually a cloud service) in order to leverage features like:
- Push notifications
- Membership Management
- Storage
- Security
- Analytics
- Social network services
So in simple terms a mobile app is a client that requests for the mobile services from the Mobile Services Backend.
Why we need Mobile Services Backend?
- One simple reason is for the mobile developers to focus of providing client side of mobile app and be more of consumer of services and not the developer.
- Ability to switch mobile services backend without rewriting a whole lot of code. Today you are using one Mobile Service Backend and tomorrow you want to switch to another, due to market condition, usage of your app or missing feature of mobile service. By keeping the mobile backend service as separate implementation from front-end app code, we get the separation of concern that enable to switch mobile backends as need dictate.
- Easy to add more features on mobile app if that feature is supported by the Mobile Services Backend.
So now we know what is Mobile Services Backend and why we need it. Now its time to look into why Parse SDK makes sense.
Reasons
- Quick start: It is very quick and easy to get started on Parse SDK. The process simply is to
- sign up for Parse SDK,
- choose the platform and mobile app front end that would be consuming the Parse cloud service features.
- download and unzip the SDK
- Incorporate the Parse SDK feature per your app requirement.
- Features: There are more features that Parse clouds offers than other offerings. These include:
- File Storage,
- Database Storage,
- File Transfer,
- A/B testing,
- Custom segmentation,
- Scheduling,
- Custom Events,
- Instant Breakdowns,
- Advanced Reports
- Division of services/features: Instead of considering all the features as a monolithic collection of features to incorporate, you as a app developer have an easy choice to choose from 'Core','Push' or 'Analytics'
- Segregated SDKs: Parse SDK features the selection of SDK based on the platform that is used by your mobile app. Following are the different platform for which there is a separate SDK:
- iOS,
- Android,
- Java Script,
- OS X,
- Unity,
- PHP,
- .NET + Xamarin,
- Arduino,
- Embedded C
- Pricing: This is a major feature that led me to delve in Parse SDK in the first place. I like that they let you start free and stay with free subscription as long as limits are not reached. This is similar to Heroku cloud's offering. As developer, I like it a lot. This lets me to fully use a framework without worry about the expiration of free trial period.
- Quality: This might be an overlapping feature amongst all the top Mobile Service Backend providers. The reason that I am calling it out here is because, whatever I have seen experienced on Parse SDK has been of very high quality. From the SDK usage, tutorials, Dashboards and scale that is provide seems to be top notch.
Conclusion:
These are my opinions based on my limited experience looking into few of the top Mobile Services Backend provides. There might be some Mobile Services Backend provides that are better than Parse and I might have missed features that might make other Mobile Services Backend provides better than Parse. Having said that I think Parse SDK is formidable offering and it should be seriously considered in greater scheme of thing for Mobile App Architectures.
One of the great ways to acquire knowledge is to share knowledge. Please do share your experience and knowledge by commenting so we all can better design great mobile applications.
No comments:
Post a Comment