Wednesday, May 9, 2012

Paltform vs Framework



In my programming experience I’ve worked on many platforms and i’ve used many frameworks. The difference between a framework and a platform is described by the verbe i used in the first sentence.
You work on a platform. You use a framework. This is the conceptual difference. The Framework gives you a set of tools to help you write the code faster and better, while the platform gives you the website in a basic form so you can work on it.
For example when you want to build a website in PHP and Mysql you have to write the queries, you have to write the user log-in, registration, almost everything. Using a php framework this things are much easier to do, you have only to write few lines and the Framework knows what to do. A frameworks helps you to write code more efficiently.
On the other hand, the platforms have the basic things done, and they will provide you with basic functions to extend the platform more easy. The real difference is that a good Framework may give you better tools to write efficiently, but if you install a platform it works as it is and you’re work can resume to installing a new theme so the website to look different.
There are many cases when you have advanced requirements, but the platform also can be extended, but in that case you have to take some time to analyze the code.

Framework refers only to software and ignores hardware totally. So, if you work with hardware it will never have a framework ;-). Second: a platform allows a software to run, which is not a framework requirement, since it is more focused on design. For instance, Java is a platform because it has a virtual machine that allows Java applications to run in many operating systems. On the other hand, Spring is a framework because it simplifies the way you design software, taking the responsibility for a lot of things to reduce the effort and the volume of code needed to implement the application. So, a platform doesn't aim to save your time, but to give you one or more possibilities to run your application.
A platform defines a runtime or program environment that frameworks can run on e.g. the Java Virtual Machine, Microsoft's .Net or Mac OS X
 A Framework extends existing functionality or defines new the functionality within the platform e.g. the Java Media Framework, Microsoft's or Mac OS X's Cocoa Framework


No comments:

Post a Comment