Search code examples
javascriptangularjsreactjsportletportal

Portal / Portlet like web app with Angularjs / React


we like to build a new web application. The requiremts are to provide portlet like "windows" in the browser, where each window could show content from different backends like a CMS, Business Data,... The web app should be a Sing Page Application.

Currently we plan to build the web application with multiple REST based backends and a Javascript frontend framework like Angularjs, Angular 2 or React..

So here my questions:

  1. Do you think that's possible with these techniques? Or do you think we need some kind of PortalServer?
  2. One goal would be, to deliver some kind of API to the developers, where different developers could simpley create new portlets, without editing in one big html file. (So the developers should deliver only a partial html file which is rendered into a portlet.) Would that be posible?

If you think, this will be posible, could you provide me link to some sample apps, which do this? And which JS framework would you prefer to take?

Many thanks for your help, and if the questions are to unspecific, feel free to tell me, to give you more input!

Regards, Markus


Solution

  • I think this could be done (without a portlet container), not easily though.

    First of all the Javascript Framework choice is important.

    I am not an expert in Angular 2, but I think this could be the perfect choice. Why? Because in Angular 2 you have modules, where you encapsulate all the logic/dependencies/view, so this might mapp perfectly to your "portlet/window" approach.

    No need to edit any HTML file, you just add the Angular 2 component each time you want to add a new portlet.

    You could also try Angular 1.x and implement each "portlet" as a directive, giving the template as a parameter, as well as the depencies, so the developer could customize each portlet.

    You can get the windows user experiencie with Javascript, even with Jquery http://jqueryui.com/sortable/#portlets so this is manageable.

    Good luck