We are going to develop a web application using Ruby On Rails (v4). Our application is going to contain many "components" such as a forum, a blog, a photo gallery and other business components. We would like to separate all of this components during the development.
We looked some Ruby On Rails possibilities and find out "plugins", "mountable engine" and "full engine". we don't really know which would be the best for our application...
We are going to get a main application that will encapsulate all the other components. Some components require authentication and some don't. Of course, if two components (such as forum and blog) require an authentication, we want a unique authentication ! All our components are going to be accessible from the same URL, sharing the same UI frameworks (Bootstrap for instance)... For the final user it would be "a single web application".
So we think that the main application should contains the database and model class to deal with Users etc. But, the question is: how to share a database or models class between the parent app and the component ? With a "component architecture", it would be possible for us to develop a skeleton for our application and the ask difererent teams to develop a component. They won't have to know about the other components or app, but just use the class they need. For example, they are developing the forum and the need to access to the user data, they just have to get call Users.all in the parent model...
Is it a good thing, in our case, to use "plugins"/ "engines" ? Or maybe we just should create a clasic app and develop in ?
Aucun commentaire:
Enregistrer un commentaire