Frameworks are large bodies of prewritten code to which we add our own code to solve a
problem in a specific domain. Perhaps we could say that the framework uses our code
because it is usually the framework that is in control. We make use of a framework by
calling its methods, inheritance, and supplying "callbacks", listeners, or other
implementations of the Observer pattern.
Difference between framework and library
The difference between a framework and an ordinary programming library is that a
framework employs an inverted flow of control between itself and its clients. When using a
framework, one usually just implements a few callback functions or specializes a few
classes, and then invokes a single method or procedure. At this point, the framework does
the rest of the work for you, invoking any necessary client callbacks or methods at the
appropriate time and place. For this reason, frameworks are often said to abide by the
Hollywood Principle "Don't call us, we'll call you." or the Greyhound Principle "Leave the
driving to us."
Difference between Struts and JSF
The key differences between the two are the base paradigms that underly each platform.
Specifically, JSF is a "component" framework whereas Struts is an "action" framework.
In a component framework, artifacts that are rendered on the page are initially developed
as individual components, much like in modern GUI "fat client" libraries. we have
components , have events, and our code is written to work with those events against the
components.
Most of the time, in mainstream development, our code is pretty much ignorant of the
HTTP request cycle and processing.
Struts are action frameworks. In essence they give us the ability to map URLs to activities
and code on the back end. Here, the layout and workflow tends to be more page oriented.
A developer tends to interact with the HTTP request cycle directly, though Struts helps
isolate at least the binding of the request data to the action implementation classes.
Action frameworks tend to be much "thinner" in how they stand between our code and
the raw HTTP request compared to component frameworks.
Action frameworks tend to work better with "pretty" urls. Action framework coders can
have more control of the structure and presentation of URLs, since their systems are more
intimately tied to them compared to a component framework.
Action frameworks are better for "web sites" like the sites that focus on delivering content
to the user. Where it's mostly a "read only" experience for the end user who is likely to want
to bookmark things etc.
Component frameworks are better for "web apps". CRUD screens, back office applications,
lots of forms and controls, etc
Difference between Struts and Springs framework
Struts and Spring are fundamentally similar implementations of the Model View Controller
(MVC) architectural pattern. They both are intended primarily for the Model 2 type of
development which is based on the core J2EE components servlet and JSP. Developers
familiar with Struts should make the conceptual transition from one framework to the
other rather easily. Both frameworks have clearly delineated boundaries for the
components that serve the roles of the View, Controller, and, in the case of Spring, Model.
The Struts design is based on concrete inheritance, meaning that each custom action has
to be in an inheritance hierarchy of the Struts Action component. Because Spring
controllers are interfaces, any component can play the role of the controller. This gives
application designers more flexibility in the design of components.
At the framework component level, Struts requires use of Struts-specific objects, such as
Form Beans (static or dynamic), Actions, Action Mappings, Action Forwards, and Request
Processors. Spring MVC is more flexible, as all its major components are defined as
interfaces.
Struts address only the presentation aspects of application development. On the other
hand, Spring MVC is an integral part of the Spring framework, which fully integrates Spring
with the rest of the frameworks that manage business components as well as other aspects
of Spring enterprise development.
Struts is developed with a Front Controller and dispatcher pattern. Where in all the
requests go to the ActionServlet thereby routed to the module specific Request Processor
which then loads the associated Form Beans, perform validations and then handovers the
control to the appropriate Action class with the help of the action mapping specified in
Struts-config.xml file. On the other hand, spring does not route the request in a specific
way like this, rather it allows us to design in our own way however in allowing to exploit
the power of framework, it allows us to use the Aspect Oriented Programming and
Inversion of Control in a great way with great deal of declarative programming with the
XML. Commons framework can be integrated to leverage the validation in spring
framework too. More than this, it provides all features like JDBC connectivity, just to
develop & run your applications on the top of this.
Difference between Ajax and Flash
Adobe’s Flash/Flex and vendor-independent both are used to design dynamic and
interactive web applications. Both allow for interface animation and are platform
independent meaning content will appear the same across platforms. There are many
similarities and Flash/Flex is often used as a partial substitution for Ajax interface
technologies. However, there are significant differences as well. For example, Flash is an
animation format software that allows for the quick download of animation files in a
resizable format that lets files be downloaded over a regular modem connection. Flash
produces increased interactivity by encoding information in smaller, more easily
downloadable files.
It is also a set of technologies aimed at creating Rich Internet Applications (RIAs). It is a
product developed by Macromedia, whereas Ajax is more of a methodology to produce
RIAs. Ajax uses the strategic combination of DHTML or XHTML respectively, Dynamic
Hypertext Language or Extensible Hypertext Language, XML, CSS, and DOM with
XMLHttpRequest and JavaScript to create more responsive and interactive web
applications. Ajax functions as a layer of programming that facilitates a behind-the-scenes
communication between the browser and the server.
Ajax is amore democratic methodology, while Flex is a vendor specific product that
requires purchase. Like Ajax, Flex uses an XML-based language, MXML, to create GUIs.
MXML mirrors XHTML in Ajax. ActionScript reflects the function of JavaScript in Ajax.
Finally, like Ajax, Flex technology requires that the client only load once and have access to
multiple and complex interface interactions in real-time.
Flash Player requires a plug-in to browsers. A plug-in is a program that is easily installed to
be used with a web browser. Plug-ins allow users to supplement web applications with
other programs to perform specified functions. However, Ajax doesn’t require the
downloading of applications, rather it accesses those web applications from the Web as
they are requested.
problem in a specific domain. Perhaps we could say that the framework uses our code
because it is usually the framework that is in control. We make use of a framework by
calling its methods, inheritance, and supplying "callbacks", listeners, or other
implementations of the Observer pattern.
Difference between framework and library
The difference between a framework and an ordinary programming library is that a
framework employs an inverted flow of control between itself and its clients. When using a
framework, one usually just implements a few callback functions or specializes a few
classes, and then invokes a single method or procedure. At this point, the framework does
the rest of the work for you, invoking any necessary client callbacks or methods at the
appropriate time and place. For this reason, frameworks are often said to abide by the
Hollywood Principle "Don't call us, we'll call you." or the Greyhound Principle "Leave the
driving to us."
Difference between Struts and JSF
The key differences between the two are the base paradigms that underly each platform.
Specifically, JSF is a "component" framework whereas Struts is an "action" framework.
In a component framework, artifacts that are rendered on the page are initially developed
as individual components, much like in modern GUI "fat client" libraries. we have
components , have events, and our code is written to work with those events against the
components.
Most of the time, in mainstream development, our code is pretty much ignorant of the
HTTP request cycle and processing.
Struts are action frameworks. In essence they give us the ability to map URLs to activities
and code on the back end. Here, the layout and workflow tends to be more page oriented.
A developer tends to interact with the HTTP request cycle directly, though Struts helps
isolate at least the binding of the request data to the action implementation classes.
Action frameworks tend to be much "thinner" in how they stand between our code and
the raw HTTP request compared to component frameworks.
Action frameworks tend to work better with "pretty" urls. Action framework coders can
have more control of the structure and presentation of URLs, since their systems are more
intimately tied to them compared to a component framework.
Action frameworks are better for "web sites" like the sites that focus on delivering content
to the user. Where it's mostly a "read only" experience for the end user who is likely to want
to bookmark things etc.
Component frameworks are better for "web apps". CRUD screens, back office applications,
lots of forms and controls, etc
Difference between Struts and Springs framework
Struts and Spring are fundamentally similar implementations of the Model View Controller
(MVC) architectural pattern. They both are intended primarily for the Model 2 type of
development which is based on the core J2EE components servlet and JSP. Developers
familiar with Struts should make the conceptual transition from one framework to the
other rather easily. Both frameworks have clearly delineated boundaries for the
components that serve the roles of the View, Controller, and, in the case of Spring, Model.
The Struts design is based on concrete inheritance, meaning that each custom action has
to be in an inheritance hierarchy of the Struts Action component. Because Spring
controllers are interfaces, any component can play the role of the controller. This gives
application designers more flexibility in the design of components.
At the framework component level, Struts requires use of Struts-specific objects, such as
Form Beans (static or dynamic), Actions, Action Mappings, Action Forwards, and Request
Processors. Spring MVC is more flexible, as all its major components are defined as
interfaces.
Struts address only the presentation aspects of application development. On the other
hand, Spring MVC is an integral part of the Spring framework, which fully integrates Spring
with the rest of the frameworks that manage business components as well as other aspects
of Spring enterprise development.
Struts is developed with a Front Controller and dispatcher pattern. Where in all the
requests go to the ActionServlet thereby routed to the module specific Request Processor
which then loads the associated Form Beans, perform validations and then handovers the
control to the appropriate Action class with the help of the action mapping specified in
Struts-config.xml file. On the other hand, spring does not route the request in a specific
way like this, rather it allows us to design in our own way however in allowing to exploit
the power of framework, it allows us to use the Aspect Oriented Programming and
Inversion of Control in a great way with great deal of declarative programming with the
XML. Commons framework can be integrated to leverage the validation in spring
framework too. More than this, it provides all features like JDBC connectivity, just to
develop & run your applications on the top of this.
Difference between Ajax and Flash
Adobe’s Flash/Flex and vendor-independent both are used to design dynamic and
interactive web applications. Both allow for interface animation and are platform
independent meaning content will appear the same across platforms. There are many
similarities and Flash/Flex is often used as a partial substitution for Ajax interface
technologies. However, there are significant differences as well. For example, Flash is an
animation format software that allows for the quick download of animation files in a
resizable format that lets files be downloaded over a regular modem connection. Flash
produces increased interactivity by encoding information in smaller, more easily
downloadable files.
It is also a set of technologies aimed at creating Rich Internet Applications (RIAs). It is a
product developed by Macromedia, whereas Ajax is more of a methodology to produce
RIAs. Ajax uses the strategic combination of DHTML or XHTML respectively, Dynamic
Hypertext Language or Extensible Hypertext Language, XML, CSS, and DOM with
XMLHttpRequest and JavaScript to create more responsive and interactive web
applications. Ajax functions as a layer of programming that facilitates a behind-the-scenes
communication between the browser and the server.
Ajax is amore democratic methodology, while Flex is a vendor specific product that
requires purchase. Like Ajax, Flex uses an XML-based language, MXML, to create GUIs.
MXML mirrors XHTML in Ajax. ActionScript reflects the function of JavaScript in Ajax.
Finally, like Ajax, Flex technology requires that the client only load once and have access to
multiple and complex interface interactions in real-time.
Flash Player requires a plug-in to browsers. A plug-in is a program that is easily installed to
be used with a web browser. Plug-ins allow users to supplement web applications with
other programs to perform specified functions. However, Ajax doesn’t require the
downloading of applications, rather it accesses those web applications from the Web as
they are requested.