Eduardo Almeida has already shared his experience with our library, and today we are happy to present another important contribution. Read the blog post to learn what is dhxMVP and how it can help you in web development. If you have any questions, you may leave them in the comments section below the article.
“What is it?
MVP stands to Model View and Presenter development model. Not least, MVP also stands to Minimum Viable Product.
The main actor of this project is DHTMLX, a library to build Enterprise Web and Mobile Applications with rich UI and fast performance.
Additionally, we use Backbone.js to provide model features over a sync-able IndexedDB implementation.
It provides the following features:
– MVP development model
– On Demand modules loading
– URL routing
– Messaging driven communication model over an asynchronous environment
– Application distributing
– Generate different versions of your application.
- Desktop – Mac, Windows and Linux
- Chrome Application
- Chrome Extension
- Mobile (Upcoming)
RAD backend (Upcoming)
– Generate fully compatible REST API to be consumed by the SPA
– by using models and collections defined for the client side
– as reference schema.
– Check programming errors and bad practices using jsHint
– Test Suite
Test code and UI
– Phantomjs to provide a full web stack when testing.
– Add, Commit, Push and create releases.
– Provide all necessary features to integrate with tools like Travis-CI.
Who can be interested in using it?
- Software development teams/company
Why have I decided to create it?
Rather than some frameworks like Sencha and Dojo, DHTMLX focuses in delivery mature components to every kind of developers, starters and masters.
Instead enforce all users to build softwares under a predefined pattern, DHTMLX gives you the freedom to implement your application in the manner you want. In other words, it just provides components, it does not touch any type of architecture in terms of how you will build you application. It makes DHTMLX simple and powerful.
Actually, hype frameworks like Angular, React, Backbone and others, provides a bunch of features to build web application that makes those Frameworks a lot attractive for new and experienced developers. The most popular features are URL routing and development under a MV* pattern.
On the last 10 years, I did worked with several different software development teams and I always got the same question:
When building Single Page Applications, there are a lot of challenges to assure the project success:
- Large codebase may reflect into a slow loading application
- Large codebase may face namespace and other conflict issues when adding a new library/framework into your client stack.
- Large codebase is hard to maintain.
- The codebase need to be understandable by any new upcoming developer that will integrate the team.
- The final application should be `multiple devices` friendly.
- The application architecture always shall to be generic when as possible. Custom patterns for every implemented application is not a good idea, never will be.
- Modern Single Page Application frequently need to be able to perform not only online, but offline operations too.
- Validate the code. Code Validation tools are directly linked to the final product quality.
I could enumerate dozen other items, but I believe it is a subject for another publication.
Reach its GitHub repository for further information and instructions.”
We’d like to tell many thanks to Eduardo Almeida and his brilliant efforts and contribution! Share your thoughts and questions in the comments section below.