At DCKAP, we keep running experiments. We try different new things with one goal in mind to either fail fast or build something useful and required.
One such experiment is Mobile App Development. DCKAP has a good strong foundation when it comes to web and eCommerce development. We wanted that to extend it to Mobile as well, Mobile Internet dominates with more than 54% of overall traffic of the internet, and that gives a whole new perspective on why mobile is the future!
We had brainstorming sessions on what platform to select and the challenges we might face. We ended up going with flutter, flutter has grown so fast in the past few years, and the community around it seems amazing.
For POC (Proof of concept), we finalized on building an eCommerce app for one of our clients, they use Shopify, and this is where we faced our first challenge. Shopify doesn’t provide SDK for Flutter, but they do have API, which does allow us to build the app, but it would be time-consuming, and we have to write a lot of things from scratch. With SDK, it would have been easier.
What’s an SDK?
SDK – Software Development Kit, as the name suggests it’s a kit, a tool kit full of all the tools required to build and connect one service or app to another. SDKs are platform-specific, meaning for each and every platform, SDKs are built or put together depending on the platform, but with one end goal in mind, it should provide all the necessary tools and building blocks to connect, develop and integrate the app.
SDKs aren’t mandatory, it makes the job of a developer easier and much faster. If SDKs aren’t available, then REST API or GraphQL can get the job done, but it consumes a bit of extra time and effort to develop.
What’s the difference between SDK and API?
API – Application Programming Interface, as the name suggests, provides a simple interface for an application or service to connect and interact with other software or services.
Think of API as single individual tools while SDKs are tool kits. SDK does contain APIs, while API doesn’t contain SDKs. It also contains API, Utility functions, and everything that is necessary to create and build the application.
When to use SDK vs API?
SDKs are used when building the whole application for a particular platform. It makes the developing process simple, easier, and, most importantly, faster. APIs can be used when you want to enhance or add particular functionality to your application.
Why are SDK Important?
SDKs are really important and useful, especially when it comes to mobile app development. SDKs have everything pre-built; else, you would have to develop it from scratch. It makes the process easier for everyone involved; new features just need to be made compatible with the current system and thus increasing adaptability and efficiency.
Here’s are a few points on why SDKs are important:
- Faster Integration: SDKs standardize the process and come with all the necessary information and tools required to build, in addition to clear and concise documentation and examples that make the developer’s job a lot more efficient.
- Brand Support: Since the brand or the company running the services builds the SDKs, it comes with a huge brand value and trust, which makes it more accessible and less prone to errors and bugs.
- Cost Control: Since most of the necessary functionality has been provided by the SDK, it reduces the overall development cost.
Since Shopify doesn’t provide an SDK for flutter, we decided to look for any open-source alternatives, and we found one. It’s a library that is a wrapper of Shopify’s API. It’s better than nothing, but the only problem with it was it wasn’t updated for the past year and had a lot of issues. That’s where we decided to build our own Library for Shopify, which does consume time, but it will help us make our app development process faster for our future clients. The problem is the same when it comes to Magento as well. In the future, we will definitely develop one for it as well.