miercuri, august 12, 2009

Cum dezvolti o aplicatie ASP.NET MVC bazata pe plugin-uri?

De curand, am lansat Joobsbox.com in ideea dezvoltarii a 2 versiuni open source pentru ceea ce se va numi cel mai flexibil job board (de pe planeta :) ), bazat pe experienta proiectului Joobs.ro.

Prima versiune, deja lansata in varianta Alpha (vezi demo), este bazata pe Zend Framework (PHP), iar urmatoarea - in lucru - va fi bazata pe ASP.NET MVC.

Desi am inceput dezvoltarea pe versiunea ASP.NET MVC 1.0, odata cu aparitia versiunii ASP.NET MVC 2 Preview 1, doresc sa migrez solutia spre cea din urma si sa introduc de la prima versiune suportul pentru plugin-uri.

Asadar, voi incerca in continuare sa scriu pe blog despre experienta lansarii versiunii job board-ului bazat pe ASP.NET MVC 2.

Una din problemele cu care ma confrunt si la care caut o solutie optima, simpla si buna e legata de crearea unei arhitecturi care sa permita dezvoltarea de plugin-uri pentru job board.

Cand ma gandesc la plugin-uri pentru o aplicatie web ASP.NET MVC, imi trec prin minte diverse nevoi:
- un plugin simplu care sa zica "hello world";
- un altul care sa ruleze in background, server side, si sa execute diverse actiuni cand anumite evenimente au loc in cadrul aplicatiei (publicarea unui anunt nou...);
- un plugin care sa aduca functionalitati gen twitter;
- ...

Si toate aceste plugin-uri trebuie sa poata fi activate fara restartarea aplicatiei, deci sa fie instalate/activate/dezactivate la executie, sa poata sa-si adauge setari in web.config, sa poata adauga reguli de rutare la runtime, sa contina view-uri, etc...

Recent am inceput sa studiez MEF (The Managed Extensibility Framework is a new library in .NET that enables greater reuse of applications and components) pentru crearea suportului pentru plugin-uri.

Deci, va invit sa discutam si alte idei.

Bookmark This

6 comentarii:

Sorin Damian spunea...

Ai luat in calcul si Mono Addins? ;)

sirrocco spunea...

Unde e codul asp.net MVC ? - poate sunt eu mai clumsy si nu'l dibuiesc.

Gabriel Enea spunea...

http://aspnet.codeplex.com/Wiki/View.aspx?title=MVC

sirrocco spunea...

Hai ca la asta nu ma asteptam :).
Ma refeream la versiunea Joobs in asp.net MVC .

Ai spus ca e in lucru si am presupus ca e si codul pe undeva.

Gabriel Enea spunea...

Deocamdata nu e nimic public si nu avem decat o versiune light alpha fara suport pentru plugin-uri.

Urmeaza o reproiectare a arhitecturii aplicatiei ca sa suporte plugin-uri si apoi o versiune alpha publica.

Daca esti interesat, poate ne poti da o mana de ajutor la definirea noii arhitecturi, ce zici?

sirrocco spunea...

As fi intersat sa dau o mana de ajutor.

Exista o lista de discutii undeva ?

Mail-ul meu este xavier . 23 la mail-ul lui google :)