Difference between IDE, Library, Framework, API, and SDK


What is the first thing that you will need for Custom Software Development? Yeah, a text editor. But text editor doesn’t offer any other advantage like auto-correction, intelligent code completion or form designers. Here comes an IDEIntegrated Development Environment – a text editor with additional support for developing, compiling and debugging applications.

Eg. Eclipse, Visual Studio, and IntelIiJ



As per simple English terminology – A library is a collection of sources of information and similar resources, made accessible to a defined community for reference or borrowing.

Now put that definition in the Custom Software Development Context – What will be the collection of information? And why will a developer use it for reference? The basic building block of any application is its “Code”, and there are certain functionalities that any programmer needs to use repeatedly – then why to code it every time for different applications? That’s where a ‘Library’ comes to a rescue – a chunk of pre-defined code (a collection) that you can call (use for reference) from your own code, to help you do things (similar functionality) more quickly/easily.



Let’s go by the English terminology first – A basic structure underlying a system, concept, or text. Taking a clue from Library above, what can be the structure underlying a software? Yeah! A collection of different libraries put together to provide a set of general reusable code which can then be customized for a particular application.



Unlike English, not everything in this ‘Library’ is accessible directly. There will be back-end code to support the front-end code which needs to be accessible to programmers for Custom Software Development. Now, how do a programmer access this front-end code? Yeah, the API – the Interface to Library.

An API (Application Programming Interface) are the functions/methods (the front-end code) in a library that you can call to ask it to do things for you – the interface to the library.


SDK for Custom Software Development

We have different Mobile Operating Systems and Programming Languages. For Custom Software Development, you need a Text Editor (IDE), different Libraries (of Code), an Interface to Library (API), and a Compiler (to check code), and many more components…

What if you get all this packaged (and much more than that like testing tools, sample codes, plugins, etc.) as a kit, for certain software package, software framework, hardware platform, computer system, video game console, operating system (like Android or iOS), or similar development platform? Yeah, that’s what an SDK (Software Development Kit) is!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s