Re : Integration with AngularJS

Re : Integration with AngularJS

  
Hi, 

has anyone ever attempted integration between Outsystems and AngularJS (or any other Javascript MV* frameworks)?
If so, could you share how.

I wonder if this thing is possible within reasonable efforts? and what is the downside of doing so

background: I am thinking of designing an application with much more complex user interaction than what OutSystems could possibly offer (assuming I have read all that I can do with Interface portion of outsystems). 
Hi Aditya,

It's possible to integrate OutSystems with almost any javascript/css based framework.

Personally don't know if someone has already made an integration with AngularJs. But looking at the site it looks pretty simple.

Something like (in teory):
  • Use AddJavascriptTag action from HttpRequestHandler to add the angular javascript link or include it on a block javascript. (read this topic for more context: http://www.outsystems.com/NetworkForums/ViewTopic.aspx?TopicId=7548&Topic=Integration-of-jQuery )
  • When you need to add a html custom attribute, use the "Extended Properties" of the widgets
  • When you need a class, just write it in the "style" property of the widgets
  • If you need to add any extra javascript/css (like that Todo.js example on the AngularJs homepage), add that as javacript of the page or a block that you put on the page.
That should be enough for the main uses.
Just be carefull if you use it to do things like repeaters with inputs inside. The platform won't recognize correctly the input/variable mappings since they were constructed by the javascript libraries.
In those cases it may be sometimes needed the use of the "FakeNotifyWidget" block from RichWidgets (check it's description to know how to use). It allows passing explicit values from javacript to screen actions.

Regards,
João Rosado
Hi Joao,

Thank you for the response.

I am thinking of using AngularJS's service layer (e.g. http://docs.angularjs.org/tutorial/step_11 or any other js framework xhr call) for this kind of integration.

My initial intention is to ignore Outsystems interface layer as much as possible. Is there any way for me to achieve similar objective of avoiding interface layer (via JS MV* or anything else)?

thank you
wait, what?

why on earth would you use Outsystems at all then if you are planning to skip the interface-layer?
It is one of the greatest advantages of using Outsystems!

greatest advantages and in some cases bottleneck when you want to make UI that is not so standard.

the main reason is to develop a proof of concept that Outsystems logic layer can indeed work with JV* framework without the need of working with interface layer similar to e.g. Angular-Node/Express (see link) architecture where most of the user interactions are done at the client level (where our designers / ux engineers can develop out of the box user interactions using technology they are familar with e.g. pure html,css and js) and logic/workflow are done by Outsystems (where our developer can maintain and develop easily). 

while I agree that outsystems can probably do 99% of what we want to do (assuming you tinker with it long enough), we want to see the feasibility of doing so with basic html/css/js. 

e.g. http://briantford.com/blog/angular-express.html
Hello,

Angular can be integrated with OutSystems. You can have best of both worlds. 

I am facing some issues with angular binding using Ajax update but other than it looks promising

https://pravinsable.outsystemscloud.com/AngularJSTest/ 


Thanks
Pravin

Aditya L wrote:
Hi Joao,

Thank you for the response.

I am thinking of using AngularJS's service layer (e.g. http://docs.angularjs.org/tutorial/step_11 or any other js framework xhr call) for this kind of integration.

My initial intention is to ignore Outsystems interface layer as much as possible. Is there any way for me to achieve similar objective of avoiding interface layer (via JS MV* or anything else)?

thank you