Unit IV: Web-based Frameworks - Web Technologies II - BCA Notes (Pokhara University)

Breaking

Sunday, August 11, 2019

Unit IV: Web-based Frameworks - Web Technologies II

Content Management System:

A Content Management System (CMS) is a software application or a set of related programs that are used to create and manage digital content. CMS is typically used for Enterprise Content Management (ECM) and Web Content Management (WCM). Both Enterprise Content Management and Web Content Management systems have two components:
a. A content management application (CMA)
b. A content delivery application (CDA)
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

The CMA is a Graphical User Interface (GUI) that allows the user to control the creation, modification and removal of content from a website without needing to know anything about HTML. The CDA component provides the back-end services that support management and delivery of the content once it has been created in the CMA.

Importance of Content Management System:

Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

1. Increase Efficiency:

Content can be published easily and efficiently as editing and revisions do not require visual design or coding knowledge. This allows for fast and efficient updates, saving our business cost and time.

2. Increase Our Search Engine Ranking:

To improve or maintain our search engine ranking our business has to remain relevant, and a good and easy-to-use CMS will help us publishers keep the content fresh.  This invites external contribution (e.g. comments, forum, likes etc…), an integral component in staying relevant and improving our search engine ranking.

3. Maintain Control Over Our Content:

Workflow is a core feature of any good CMS. Irrespective of how basic our workflow needs might be, workflows will ensure our business maintains control over the content.

4. Help Our Visitors In Their Search For Information:

With powerful CMS search engines, new content is indexed automatically so it can be instantly found. Visitors can also use taxonomy applications, sorting lists, saved searches and more to personalize the search experience.

5. Cross-Selling:

Sophisticated Content Management Systems can learn user behaviour and preferences, making our cross-selling and up-selling efforts much more cost effective.

6. Improve Online Branding:

Our marketing team can keep our business relevant by multi-channel campaign management (e.g. emails, brochures, RSS, hyper sites, dynamic content management etc.)

7. Extensibility:

Our CMS will support our expansion, and most CMSs can extend functionality beyond its default capabilities, typically by purchasing additional plug-ins or modules.

8. Improve Customer Service:

FAQs, help sections and support forms are essential in keeping our customers happy, and any good CMS will allow our business to easily maintain those support channels.

9. Mobile Optimization:

Advanced CMSs offer mobile optimization, automatically tailoring presentation and content for different devices.

Examples of Content Management System:

1. Wordpress:

The WordPress Community is a faithful and zealous bunch. Wordpress probably has the widest base of plugins and themes to choose from. We have thousands of professional Wordpress Themes and Wordpress Plugins available for sale on Envato Market, with a full suite of styles and options to choose from. 

A great part about the Wordpress community is the amount of help and documentation online we can find on nearly every aspect of customizing WordPress. If we can dream it, chances are it's already been done with WordPress and documented somewhere.

If we need help with anything from installing a theme to optimizing the speed of our WordPress site, we can find plenty of experience WordPress developers to help us on Envato Studio.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

2. Drupal:

Drupal is another CMS that has a very large, active community. Instead of focusing on blogging as a platform, Drupal is more of a pure CMS. A plain installation comes with a ton of optional modules that can add lots of interesting features like forums, user blogs, OpenID, profiles and more. It's trivial to create a site with social features with a simple install of Drupal. In fact, with a few 3rd party modules we can create some interesting site clones with little effort.

One of Drupal's most popular features is the Taxonomy module, a feature that allows for multiple levels and types of categories for content types. And we can find plenty of professional Drupal Themes, which are ready to be customized and worked with. We can also grab Drupal Plugins.

Drupal also has a very active community powering it and has excellent support for plugins and other general questions.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

3. Joomla:

Joomla is very similar to Drupal in that it's a complete CMS, and might be a bit much for a simple portfolio site. It comes with an attractive administration interface, complete with intuitive drop-down menus and other features. The CMS also has great support for access control protocols like LDAP, OpenID and even Gmail.com.

The Joomla site hosts more than 3,200 extensions, so we know the developer community behind the popular CMS is alive and kicking. Like Wordpress, we can add just about any needed functionality with an extension. However, the Joomla theme and extension community relies more on paid resources, so if we are looking for customizations, be ready to pull out our wallet. We can also grab Joomla plugins, or hire Joomla developers to help us get our store set upright.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

4. ExpressionEngine:

ExpressionEngine (EE) is an elegant, flexible CMS solution for any type of project. Designed to be extensible and easy to modify, EE sets itself apart in how clean and intuitive their user administration area is. It takes only a matter of minutes to understand the layout of the backend and to start creating content or modify the look. It's fantastic for creating websites for less-than-savvy clients that need to use the backend without getting confused.

ExpressionEngine is packed with helpful features like the ability to have multiple sites with one installation of software. For designers, EE has a powerful templating engine that has custom global variables, custom SQL queries and a built-in versioning system. Template caching, query caching and tag caching keep the site running quickly too.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

5. Textpattern:

Textpattern is a popular choice for designers because of its simple elegance. Textpattern isn't a CMS that throws in every feature it can think of. The codebase is svelte and minimal. The main goal of Textpattern is to provide an excellent CMS that creates well-structured, standards-compliant pages. Instead of providing a WYSIWYG editor, Textpattern uses textile markup in the textareas to create HTML elements within the pages. The pages that are generated are extremely lightweight and fast-loading.

Even though Textpattern is deliberately simple in design, the backend is surprisingly easy to use and intuitive. New users should be able to find their way around the administration section easily.

While Textpattern may be very minimal at the core level, we can always extend the functionality by 3rd party extensions, mods or plugins. Textpattern has an active developer community with lots of help and resources at their Textpattern.org site.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

6. Radiant:

The content management systems that we've listed so far are all PHP programs. PHP is the most popular language for web development, but that doesn't mean we should overlook other popular web languages like Ruby. Radiant CMS is a fast, minimal CMS that might be compared to Textpattern. Radiant is built on the popular Ruby framework Rails, and the developers behind Radiant have done their best to make the software as simple and elegant as possible, with just the right amount of functionality. Like Textpattern, Radiant doesn't come with a WYSIWYG editor and relies on Textile markup to create rich HTML. Radiant also has it's own templating language Radius which is very similar to HTML for intuitive template creation.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

7. Cushy CMS:

Cushy CMS is a different type of CMS altogether. Sure, it has all the basic functionality of a regular content management system, but it doesn't rely on a specific language. In fact, CMS is a hosted solution. There are no downloads or future upgrades to worry about.

How Cushy works is it takes FTP info and uploads content on to the server, which in turn the developer or the designer can modify the layout, as well as the posting fields in the backend, just by changing the style classes of the styles? Very, very simple.

Cushy CMS is free for anyone, even for professional use. There is an option to upgrade to a pro account to use our own logo and colour scheme, as well as other fine-grain customizations in the way Cushy CMS functions.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

8. SilverStripe:

SilverStripe is another PHP CMS that behaves much like Wordpress, except has many more configurable options and is tailored towards content management, and not blogging. SilverStripe is unique because it was built upon its very own PHP framework Saphire. It also provides its own templating language to help with the design process.

SilverStripe also has some interesting features built into the base, like content version control and native SEO support. What's really unique with SilverStripe is that developers and designers can customize the administration area for their clients, if need be. While the development community isn't as large as other projects there are some modules, themes and widgets to add functionality. Also, we'll want to modify the theme for each site, as SilverStripe doesn't provide much in terms of style, to give the designer more freedom.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

9. Alfresco:

Alfresco is a JSP is a beefy enterprise content management solution that is surprisingly easy to install. A really useful feature of Alfresco is the ability to drop files into folders and turn them into web documents. Alfresco might be a little bit more work than some of the other CMS and isn't as beginner-friendly, it certainly is quite usable given the massive power of the system. The administration backend is clean and well-designed.

While Alfresco might not be a great choice for most simple sites, it's an excellent choice for enterprise needs.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

10. TYPOlight:

TYPOlight seems to have the perfect balance of features built into the CMS. In terms of functionality, TYPOlight ranks with Drupal and ExpressionEngine, and even offers some unique bundled modules like newsletters and calendars. Developers can save time with the built-in CSS generator, and there are plenty of resources for learning more about the CMS.

If there is a downside to TYPOlight, it's that it has so many features and configurable options. Even though the backend is thoughtfully organized, there are still a lot of options to consider. But if we're wanting to build a site with advanced functionality and little extra programming, TYPOlight could be a great fit.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Model View Controller:

The Model-View-Controller (MVC) is an architectural pattern that separates an application into three main logical components: the model, the view, and the controller. Each of these components are built to handle specific development aspects of an application. MVC is one of the most frequently used industry-standard web development frameworks to create scalable and extensible projects.

1. Model:

The Model component corresponds to all the data-related logic that the user works with. This can represent either the data that is being transferred between the View and Controller components or any other business logic-related data. For example, a Customer object will retrieve the customer information from the database, manipulate it and update its data back to the database or use it to render data.

2. View:

The View component is used for all the UI logic of the application. For example, the Customer view will include all the UI components such as text boxes, dropdowns, etc. that the final user interacts with.

3. Controller:

Controllers act as an interface between Model and View components to process all the business logic and incoming requests, manipulate data using the Model component and interact with the Views to render the final output. For example, the Customer controller will handle all the interactions and inputs from the Customer View and update the database using the Customer Model. The same controller will be used to view the Customer data.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Web Programming Frameworks:

A Web Framework (WF) or Web Application Framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources and web APIs. Web frameworks aim to alleviate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks and session management, and they often promote code reuse.

Here Are Few Aspects Of A Proficient Framework:

1. MVC Architecture:

The framework should make use of Model View Controller (MVC) architecture. Some of the best frameworks also provide libraries, plug-ins, helpers, and extensions to assist developers. It would be smart and efficient to employ a framework that has at least two of these options.

2. Database Support:

It is one of the most crucial aspects of every PHP development framework. We need to decide our framework depending on the database we are going to use for our web application. For Example:  ‘CodeIgniter’ supports MySQL, Oracle, and SQLite, whereas the ‘Kohana’ framework doesn’t.

3. Community & Documentation:

The framework should be supported by a strong community, not just in terms of size but also in terms of activity and usefulness. Even if it’s a small community, we should be able to get ample support from the community. A framework should also have good documentation. It should be comprehensive and up-to-date.

Java Frameworks:

There are plenty of Java frameworks available on the web, and developers use them quite frequently to build websites. These frameworks offer lots of functions and reduce the working hours by leaps and bounds. These frameworks make the coding process faster, thanks to their inbuilt modules and functions.

Sometimes too many options can confuse us and that is exactly the case with Java frameworks. If we ask for suggestions in web development and programming forums, every developer will give us different suggestions based on their personal likes and dislikes. As a result, it becomes very difficult to select the one framework that will fit all our requirements. 

1. Spring MVC (Model View Controller):

The Spring MVC framework is designed as a layered J2EE/Java framework integrating specially applied sciences. It is appropriate for a broad range of ingenuities. After its design and expansion, Spring MVC embraced numerous changes to become a full-scale framework Java for Internet applications. It offers a useful toolkit for development and configuration of web applications. We can use it for our security projects. Spring is famous among programmers for its well-developed ecosystem. It has numerous add-ons, such as SOAP services, REST APIs, and security authentication.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
Spring is one of the best Java frameworks, and it has various qualities:
a. Enhanced modularity to improve readability of code
b. Simplified injection to test data through POJOs
c. Flexible use of DI (Dependency Injection)
d. Loose coupling among different modules

Cons:
Along with pros, here are some cons of Spring web MVC framework:
a. MVC can be a bit difficult to implement for a newbie
b. Makes the learning curve steep

2. JSF (JavaServer Faces):

JSF is a net utility framework of Java, and it got Oracle’s support. This framework may not be the best framework for Java development, but it is easy to utilize because of documentation supplied by Oracle. Moreover, if we want the EE environment Java, there will be no extra dependency on JSF. Tools and rich libraries become a beautiful magic wand that may back us up to the complexity of an application. JSF uses server pages of Java and can support different technologies of Facelets and XUL.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. JSF is an important part of Java EE and as such convenient for developers who use IDE software.

Cons:
a. JavaServer Faces is broad to comprehend without prior skills and experience Java web development.

3. Struts:


Struts make the list our list of Best Java Web Frameworks for 2017. Strut is a framework to develop the base of the web application. This framework is a set of interfaces and classes that co-operate to solve the problems of a particular type. It functions on MVC (Model-View-Controller) pattern. Struts 2 is equipped with a net framework for numerous Java applications. It is the result of mixed effort from various supporting communities. Unlike conventional functions of the internet, it can create dynamic responses.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. Provides internal organization architecture to control and build an MVC based application for the web application.
b. Built-in support for I-18-N.
c. Struts are constructed in extension validation and authentication.
d. Allow modularly development and integration with additional components.

Cons:
a. The framework is not flexible.
b. Framework imposes coding, designing and thinking.

4. Hibernate:

While talking about the best Java web frameworks, Hibernate ORM can’t be ignored. Hibernate is an essential object-relation mapping device for the programming language Java. It offers a mapping framework for a domain model (object-oriented) to one relational database. Hibernate can solve the object-relational impedance incongruity problems by substituting persistent and direct database with high-level object controlling functions. It is free software distributed under public 2.1 License of GNU Lesser General.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. Hibernate enables us to communicate with any database by making tiny alternations in code.
b. MySQL, Db2 or Oracle, Hibernate is DB independent.
c. Caching instrument to bug catalogue with same queries.
d. N+1 or Sluggish loading support.
e. Low risk of data loss and it requires less power.

Cons:
a. If the power goes off, we can lose all our data.
b. Restarting can be extremely slow

5. GWT (Google Web Toolkit):

GWT (Google Web Toolkit) is an open-source toolset that enables web developers to maintain and create complex JavaScript front-end applications. Other than some native libraries, the whole thing in JavaSource can be built on a supported platform with integrated GWT Ant construct files. The application is licensed under the Apache License 2.0 version. Google web toolkit highlights reusable approaches to common tasks of web development, namely cross-browser portability, internationalization, UI abstraction, bookmarking, history management, remote procedure calls and asynchronous.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. GWT is easy to learn.
b. Great to use in creating significantly responsive web application with heavy lifting on client-side and decrease the load on server-side.
c. There are various JavaScript libraries out there thus making developers appreciate the true power of GWT.
d. Built-in IDE support to directly refactor Java cryptogram/code to maintain a good design at all-time.
e. Google develops GWT and this project have a bright future.

Cons:
a. GWT is a fast-evolving project, and numerous versions are floating around. We may not get all interfaces and functions.
b. GWT compilation is slow, and we have to use a proprietary method to define a structure.

6. Play! Framework:

Play framework makes it easy for us to build web applications with Scala and Java. It is based on stateless, web-friendly and lightweight architecture. It is constructed on Akka and provides minimal and predictable resource consumption (threads, memory, and CPU) for highly-scalable applications. The play framework is friendly for developers to make changes with text editor and browser. The play utilizes a fully asynchronous model designed on the top of Akka. Furthermore, although being stateless it scales predictably. The play was designed for the needs of modern mobile and web applications.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. Dramatically improves the productivity of any developer.
b. Quick reload for config changes, templates and java code.
c. Play is designed on Netty and supports non-blocking I/O.
d. It is an open-source, and everything works well under the hood.
e. Zenexity and Typesafe offer commercial support.
f. Play can handle error in dev mode for runtime and compile errors.
g. Scala and Java use type-safe language, reliable and JVM performance to scale to various developers and users.

Cons:
a. Play 2 is basically a rewrite of the Play 1.
b. It is built around I/O async that means writing code to execute later. We will end up with unidentified inner classes.

7. Vaadin:

Vaadin framework and elements are open source Apache licensed Java web application projects with an active worldwide community. It is a good framework for internet applications and contrast to browser-plugin and JavaScript libraries based solution; it features server-side architecture. Ajax technology can run on browser-side to ensure interactive and rich user experience. The Vaadin framework can be extended with GWT.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. Server-side programming only.
b. Layout, listeners and component types are available.
c. Plug-in support.
d. Easy integration with the Spring framework.

Cons:
a. Multi-window support is not available.
b. Size of created JavaScript code may grow really large

8. Grails:


Grails is another useful Java Web Frameworks on the Java platform meant to multiply the productivity of Java web developers towards convention-over-configuration, opinionated APIs, and sensible defaults. It assimilates smoothly with JVM (Java Virtual Machine) and enables us to immediately become productive while providing powerful features, including asynchronous programming, Compile-time meta-programming, run-time and domain-specific languages. We can transparently and seamlessly inter-operate and integrate with Java, Java EE containers, and JVM.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. Grails is ideal for dealing with medium or small-size project.
b. Offers a rapid development cycle.
c. Offers a variety of plug-in to make our job simple.
d. Documentation is easy and impressive.
e. The setup process is simple, and we will be able to build an app in one hour.
f. Simple GORM and it works wonderfully.
g. See changes by hitting the refresh button.
h. Easy to manage CSS.
i. Dynamic configuration feature to change configuration without restarting our server.

Cons:
a. We have to work with runtime language.
b. It can be problematic to work on multi-threaded application.

9. Wicket:

Apache Wicket is also known as Wicket, and it is among the Best Java Web Frameworks. It is an open-source, server-side, component-oriented and Java application framework. If we are using Wicket, there is no need to have distorted HTML pages. The Java framework requires the insertion of special syntax to HTML code which is easy for website designers. Wicket espouses HTML templates with the use of namespace that follows the XHTML standard.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. Code is scripted in Java.
b. Zero XML configuration files.
c. No back-button problems.
d. POJO-centric programming.
e. Easy to create bookmarkable pages.
f. Testability of constituents.

Cons:
a. Development can be confusing in general.
b. The event-based design may increase the chances of code mess.

10. Vert.x:

Vert.x is an appropriate polyglot event-driven application framework that runs on the Java Virtual Machine (JVM). Eclipse Vert.x is non-blocking and event-driven to handle lots of concurrency with the help of kernel threads. It helps our app to scale with negligible hardware easily. It is easy to use Vert.x with numerous languages, such as Ceylon, Ruby, Groovy, JavaScript, and Java thus we may choose the language based on our project and team skills set.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Pros:
a. Easy to set up.
b. Install an isolated container.
c. Special thread in the Vert.x container.
d. Vert.x offer simple methods and objects for non-blocking.

Cons:
a. Can be difficult to scale with some hardware.
b. Can be confusing to choose a language.

PHP Frameworks:

A framework is a structure that developers choose to build their application. It determines the structure of the application and facilitates it to connect with many different API’s. A proficient PHP framework enables developers to develop PHP application faster, efficiently and assist in building stable applications thereby reducing the amount of repetitive coding for PHP programmers.

Frameworks provide scaffolding features that facilitate the development team to build a faster and cleaner application. They often provide toolsets for both the UI components and the database access. Note: It is advisable to use the latest stable version of a framework.

1. Laravel:

Introduced in 2011, Laravel has become the most popular free, open-source PHP framework in the world. Why? Because it can handle complex web applications securely, at a considerably faster pace than other frameworks. Laravel simplifies the development process by easing common tasks such as routing, sessions, caching, and authentication.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use Laravel:
a. Laravel is suitable when developing applications with complex backend requirements, whether small or large. Installing Laravel has been made easier by the introduction of Homestead, a prepackaged, all-in-one vagrant box.

b. It’s a PHP framework full of features that will help us customize complex apps. Among these: seamless data migration, MVC architecture support, security, routing, view template engine, and authentication, among many others.

c. Laravel is highly expressive, and its speed and security are in line with expectations for a modern web application. For developers who want to build B2B or enterprise websites that will evolve with changing web trends, Laravel is the way to go.

2. CodeIgniter:

Known for its small footprint (it’s only about 2 MB in size, including the documentation) CodeIgniter is a PHP framework suitable for developing dynamic websites. It offers numerous prebuilt modules that help with constructing robust and reusable components.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use CodeIgniter:
a. CodeIgniter is a lightweight and straightforward PHP framework that’s hassle-free to install, unlike other frameworks. Due to a simple setup process and highly illustrated documentation, it’s ideal for beginners.

b. Key features include an MVC architecture, top-notch error handling, inbuilt security tools, and simple and excellent documentation. Also, it creates scalable apps.

c. Compared with other frameworks, CodeIgniter is considerably faster. Since it also offers solid performance, it’s a good choice when we want to develop lightweight applications to run on modest servers. One caveat: CodeIgniter releases are a bit irregular, so the framework isn’t a great option for an application that requires high-level security.

3. Symfony:

The Symfony framework was launched in 2005, and although it’s been in existence for much longer than other frameworks on this list, it’s a reliable and mature platform. Symfony is an extensive PHP MVC framework and the only framework is known to follow PHP and web standards to the tee.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use Symfony:
a. Symfony is the perfect choice for developing large-scale enterprise projects. It’s easy to install and configure on most platforms.

b. One of its key features? It’s reusable PHP components. It also boasts database engine–independence, and it’s stable, complies with most web best practices and design patterns, and allows for integration with other vendor libraries.

c. Symfony is also highly flexible and can integrate with bigger projects like Drupal. Symfony and Laravel have many common and unique features, which makes it difficult to say which of these frameworks is better.

However, while Laravel focuses more on simplicity and delivering value, even for developers who are not advanced, Symfony targets advanced developers and is a bit harder to start with. Also, the Symfony security mechanism is a bit difficult to use. And, because it lets developers “do it all,” it can be slower than other frameworks.

4. CakePHP:

If we’re looking for a toolkit that’s simple and elegant, look no further. CakePHP will help us to develop visually impressive, feature-loaded websites. Also, CakePHP is one of the easiest frameworks to learn, especially because of its CRUD (create, read, update, and delete) framework. CakePHP hit the market in the early 2000s, and since then it’s gained better performance and many new components.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use CakePHP:
a. CakePHP is simple and easy to install, as we only need a web server and a copy of the framework.

b. It makes a good choice for commercial applications due to security features that include SQL injection prevention, input validation, cross-site request forgery (CSRF) protection, and cross-site scripting (XSS) protection.

c. Some key features include a modern framework, fast builds, proper class inheritance, validation, and security. Also, CakePHP provides great documentation, many support portals, and premium support through Cake Development Corporation.

5. Yii:

The Yii framework, which stands for Yes, it is, in fact, simple and evolutionary. It’s a high-performance, component-based PHP framework for developing modern web applications. Yii is suitable for all kinds of web apps. For this reason, it’s a universal web programming framework.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use Yii:
a. Yii has an easy installation process. Furthermore, it's robust security features make the framework suitable for highly secure endeavours such as e-commerce projects, portals, CMS, forums, and many others.

b. It boasts excellent speed and performance, it’s highly extensible, and it lets developers avoid the complexity of writing repetitive SQL statements, as they can model the database data in terms of objects.

c. Yii has a core developer team and experts that contribute to its development. With a massive community using it, we can post issues on Yii forums and get help.

d. Yii is extremely extensible, and we can customize nearly every piece of the core’s code. However, if it’s our first time using it, be prepared for a steep learning curve.

6. Zend Framework:

The Zend framework is completely
object-oriented, and the fact that it uses features such as interfaces and inheritance makes it extendable. It was built on the agile methodology, which helps us to deliver high-quality applications to enterprise clients. Zend is highly customizable and abides by PHP best practices—an important point for developers who want to add project-specific functionalities.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use Zend:
a. Zend framework is an excellent fit for complex, enterprise-level projects. It’s the preferred framework for large IT departments and banks.

b. Some key features include MVC components, simple cloud API, data encryption, and session management.

c. It can integrate with external libraries, and we can use only the components we want. The Zend framework comes with extremely good documentation and has a large community base. However, if we’re a mobile app builder, get ready for a steep learning curve.

7. Phalcon:

A full-stack PHP framework that employs the MVC web architecture design pattern, Phalcon was originally written in C and C++ and released in 2012. Since it’s delivered as a C-extension, we don’t have to worry about learning the C programming language.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use Phalcon:
a. Phalcon is easy to install and suitable for creating highly configurable web applications that are in line with enterprise development guidelines.

b. Key features include increased execution speed, asset management, a universal autoloader, and top security and caching.

c. Unlike other frameworks, Phalcon optimizes performance due to its efficient memory utilization. If we’re looking to create a blazing fast website, give Phalcon a try.

d. On the negative side, Phalcon developers are a bit slow to patch bugs, which may not jive with today’s need for high levels of security.

8. FuelPHP:

FuelPHP is a flexible, full-stack PHP framework first released in 2011. Apart from supporting the MVC design pattern, it has its own version called the hierarchical model view controller (HMVC). With HMVC, unlike with MVC, content doesn’t need to duplicate to show on multiple pages. As a result, it consumes less time and memory.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use FuelPHP:
a. FuelPHP helps developers deliver end-to-end web solutions that are diverse in size and complexities.

b. Key features include HMVC implementation, RESTful implementation, a URL routing system, vulnerability protection, and a caching system.

c. It extends its security approach beyond ordinary security measures, making it a great option if security is crucial for our project. Because FuelPHP is relatively new, it offers less support and may present a steeper learning curve.

9. PHPixie:

Introduced in 2012 and just like FuelPHP, PHPixie implements the HMVC design pattern. Its goal was to create a high-performance framework for read-only websites.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use PHPixie:
a. It’s easy to get started with PHPixie, which is suitable for social networking websites, customized web applications, and web app development services.

b. Key features include HMVC architecture, standard ORM (object-relational mapping), input validation, authorization capabilities, authentication, and caching.

c. PHPixie is built using independent components. For this reason, we can use it without the framework itself. Note that PHPixie has relatively few modules. Besides that, it lacks support for components independently made from the dependencies. Since it’s relatively new, it’s less popular and has a smaller community of users than other frameworks.

10. Slim:

Slim is another popular PHP micro-framework that helps developers quickly create simple but powerful web applications and APIs.
Web-based Frameworks, Content Management Systems, Wordpress, Drupal, Joomla, ExpressionEngine, Textpattern, Radiant, Cushy CMS, SilverStripe, Alfresco, TYPOlight,  Model View Controller, Web-programming frameworks, Introduction to general web programming frameworks, Java frameworks, Spring MVC, JavaServer Faces, Struts, Hibernate, Google Web Toolkit, Play, Vaadin, Grails, ApacheWicket, Vert.x,  PHP framework, Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend Framework, Phalcon, FuelPHP, PHPixie, Slim

Reasons To Use Slim:
a. Just like PHPixie, Slim is easy to learn. PHP developers use Slim to develop RESTful APIs and web services.

b. Key features include URL routing, session, and cookie encryption, client-side HTTP caching, and more.

c. It’s the best framework for a small web application that doesn’t necessarily require a full-stack PHP framework. Also, active maintenance and friendly documentation make Slim super user-friendly.

No comments:

Post a Comment

If you have any doubt, then don't hesitate to drop comments.