Joomla web application development guide part 1
You have an idea for a web application development where the registered users can purchase the paid content and active subscription. Now, you are confused as to which content management framework you should use to build the product. Don’t worry. Joomla is one of the best CMS frameworks available in the market.
Joomla framework provides all features to support your content, and you do not need to install anything for a simple web application. And its third-party extension mechanism allows any developer to create a beautiful working extension, and then you can install it in the core.
Joomla is a preferred choice of web application development because of easy to create third-party extension development. And you can develop any complex products using it.
I have written this guide for a non-technical project owner who wants to create a web application using the Joomla framework and continue using it for third-party extension development. Maybe, you could not write extension source code but, you could understand the complexity and terminology of the Joomla ecosystem so that you do not feel alienated during communication with the development team.
Why should you learn it?
You feel comfortable during team communication because you know about it. You could understand what your development team is trying to achieve using the Joomla framework. And you could suggest your approach if it seems good.
Furthermore, you are a project owner, and you should understand its development closely. Sometimes, you could not continue your work with the existing development team, and then development ownership transition becomes easy if you know more about the development ecosystem and environments.
Also, learning about any framework gives other development ideas. And you could develop those ideas separately and improve your product lineup.
What is the Joomla framework?
Joomla framework is a complete content management system that provides all core features for any web application. It separates the two concerns – core web application features and content management features. Depending on your requirement, you can set up Joomla accordingly.
You get the following features out of the box;
- Article management features – create, publish, version, duplicate, and many more.
- SEO features.
- Contact management features – create, associate, contact.
- Email marketing features – send bulk email.
- User management features – registration, login, logout, logging, system activity, and many more.
Joomla gives you two different sites for accessing the contents; a front-end site or user site and an administrator site.
- Front site or user site: Your product users use this site for consuming all features. You could install your preferred template, and Joomla customizes its user interface accordingly.
- Administrator site: You - as a product owner - could log in from this site and manage the whole application configuration and properties. You do not need to have coding knowledge for customizing your web application.
How to implement custom features?
You have a unique business idea, and you do not find any implementation detail for it in the Joomla framework. Don’t worry. Joomla has a third-party extension facility. There are thousands of good third-party extensions available in the Joomla extension directory, and you could find appropriate extensions there.
The extension may be free or paid.
Sometimes, you could not find any extension because of a unique idea. You are not out of luck. Joomla gives freedom to create any third-party extension and install it on the existing Joomla site.
You could create multiple extensions to test your use cases and install them separately in the Joomla environment. Joomla has good extension management features.
You could create the following extension’s types;
- Template extension - It allows you to load different user interfaces for unique purposes. You could have two user interfaces for the administration and front site. And you could create templates for both.
- Component extension – Joomla has a different meaning for a component. And you could create it when you have unique features.
- Plugin extension – You could create a plugin when you have to take few actions depending on events. Joomla core framework triggers them, and you could plug your custom feature using the plugin.
- Module extension – It allows you to create a small reusable user interface block. And you could show it on many pages or many places on a single page.
- Libraries extension – It allows you to create application core logic independent of the framework. And you can easily share the interfaces and functionalities across the web applications.
Web application development is a complex task and takes time. You should create an application from scratch unless you need it. The web application frameworks – Joomla, WordPress, Laravel, CodeIgnitor, and many more – give you the flexibility to create an application without investing time in developing the core features. And these all are free.
In part 2 of the Joomla web application development guide, I will be sharing the detail about Template extension development.