Coder Social home page Coder Social logo

Comments (8)

chriskacerguis avatar chriskacerguis commented on June 30, 2024 1

Based on team discussions, we will start this effort once the F release branch has been made, and work on the G release starts.

from manageiq-ui-service.

jeff-phillips-18 avatar jeff-phillips-18 commented on June 30, 2024

The biggest blocker would be getting an angular 2 version of angular patternfly. We could determine which angular patternfly directives are actually use and see what it would take to convert them to angular 2 components. It would be a good kick start to an Angular 2 version of Angular Patternfly.

from manageiq-ui-service.

dgutride avatar dgutride commented on June 30, 2024

Just my perspective after starting an Angular 2 project at my last job:

Pros:
Improved rendering performance
Component testing is spectacular
Typescript (if you like it)
ES6 syntax support - improves the quality of your JavaScript
Community momentum behind Angular 2 is very solid, means it's easier to get support for issues and the skills learned are not wasted

Cons:
No Angular-Patternfly support yet
It's a full rewrite
There is a fairly steep learning curve to move over to it - the principles of Angular 1 do not always apply, it feels like learning a brand new framework in a lot of ways

from manageiq-ui-service.

chalettu avatar chalettu commented on June 30, 2024

My observations echo much of what other folks are saying.

Uses typescript and es 6
Uses components to simply app architecture and modularity
Much simpler architecture for defining services. Instead of having
Factory,Service,Provider,Constant,Values you have one way of defining services.
Performance improvements - Build from the ground up to be more performant on mobile , this has benefits for any desktop browser as well.

Yes it is a rewrite but sitting down and being realistic about our code bases long term maintainability lets think about this .

  1. Currently we don't have almost any unit tests and coverage so a ground up rewrite with a much easier testable framework would allow us to enforce testing from ground zero and make for more maintainable code in the future.
  2. Moving to typescript has its advantages and syntactically makes javascript a little easier to read and write.
  3. Angular 1 will reach end of life at some point soon since it is a drastic departure from Angular 2 architecture. So at some point we will have a framework that will no longer be receiving updates. I know a lot of angular 1 code exists all over the net but when folks abandon a project (especially google) it tends to really abandon projects quickly and it sometimes leaves folks high and dry for critical updates and support.
  4. As for the learning curve, no matter what direction we head in, we will need to have a learning curve. It is better to bite the bullet now rather than later since Angular 2 is finally GA. Whether its React or Angular or any other framework, there will be a learning curve. No way to escape it.
  5. I guess the biggest con is figuring out when it is a good time to start this process but I have learned there is never a thing as a perfect time to start a migration like this. Just draw the line in the sand and get it done.

from manageiq-ui-service.

dtaylor113 avatar dtaylor113 commented on June 30, 2024

I concur with Dana and Jeff. The (IMO) longer term goal of Patternfly is to do all 'widgets' as Web Components, then provide client javascript framework wrappers around them (Angular2, react, etc). This way a PF core component can be written once as a Web Component, and then easily ported to many of the modern javascript frameworks.
I'm not sure project teams are going to be able to wait for the long term PF solution. Personally, I think a shorter term solution of converting angular-patternfly to Angular 2 can be accomplished in a much shorter timeframe, but it may suffer as 'throw away' code when the PF Web Component solution is rolled out.

from manageiq-ui-service.

AllenBW avatar AllenBW commented on June 30, 2024

@chriskacerguis so we are doing this for sure for sure?

Disclaimer: I have not migrated a project from angular 1 to 2 before. 💥 Said it, now everyone knows something I don't (yet) know!

My general concerns are these in no particular order:

  • mature supporting dependencies
    • patternfly is a blocker
    • angular-drag-and-drop-lists is a blocker, good news, will be rendered unnecessary by ng2, bad news, means that goooooood portion of the blueprints will be hairy to overhaul (or 🍰 , I can't quite tell at first glance)
    • we'll have to find a new progress bar, or make one
    • ui-router-ng2 looks mature enough to support
    • ngb is in alpha, which won't help our patternfly blocker, but what can ya do 🙏
  • alignment of this change with product needs
    • keeping up with the jones is 🆒 and 🏆 but do the advantages listed above matter to any users? align with any product asks? :trollface:
  • anything else I forgot

So given the unknowns buried in the above, and that I believe we are collectively in agreement that this is no small undertaking, my principal concern is switching to ng2 could consume a yuge chunk of the next release work.

My ultimate position on the matter, if we're going to do it eventually, we might as well start now. 🤘

from manageiq-ui-service.

chriskacerguis avatar chriskacerguis commented on June 30, 2024

@AllenBW Right now, we're just looking at things. We'll have to go to Angular 2 at some point, but right now I'm just looking for feedback and thoughts.

from manageiq-ui-service.

chriskacerguis avatar chriskacerguis commented on June 30, 2024

Moved here: https://www.pivotaltracker.com/story/show/134431321

from manageiq-ui-service.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.