[ 
https://issues.apache.org/jira/browse/GUACAMOLE-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17138372#comment-17138372
 ] 

Mark Nolan commented on GUACAMOLE-1085:
---------------------------------------

I would love to see the project move to Angular! I much prefer the structure of 
Angular components and the use of Typescript is a benefit. I would hugely 
favour it over React or Vue, which don't provide the same scope at all. For 
example, we would need to select an Ajax library as well and agree a standard 
for dependency injection etc.

But I think it would be very difficult.

I have no experience in Angular meta-programming (by which I mean writing 
applications that modify themselves), so this is just guesswork, but I think it 
would be quite hard to provide the current flexibility. At the moment, 
extensions can easily extend the behaviour of the existing interface because 
they always have access to the enclosing scope. This is not true in Angular, 
where scope has to be passed explicitly as an input binding to child 
components. Of course, we could (probably) make it standard that components 
always pass their whole scope to all dynamic children (children from 
extensions), but that would be a bit cumbersome. And then there's the 
Typescript conversion, which means that things may not always be called exactly 
what they were called in the source code. Not a problem if you are transpiling 
the whole code-base together, but it might be an issue for extensions. We 
*could* write Angular in Javascript rather than Typescript, but that loses half 
the benefit!

Anyway, I would definitely support it and be happy to help, but I think it 
would be a large and complex undertaking.

> Consider migrating web application from AngularJS
> -------------------------------------------------
>
>                 Key: GUACAMOLE-1085
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1085
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: guacamole
>            Reporter: Alfred Egger
>            Priority: Major
>
> [AngularJS is in an LTS period until June 30, 
> 2021|https://blog.angular.io/stable-angularjs-and-long-term-support-7e077635ee9c].
>  Unless resurrected as a community-driven project, it will be cease being 
> maintained after that date. Assuming no such project surfaces, we should look 
> into migrate the web application to another framework.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to