Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Migration Path to Angular 4 [closed]

Tags:

angular

We have a large enterprise application with native windows client and asp mvc web server side rendered client. We are discussion this long term plan to migrate to angular 4:

  • Plan is to build new forms in angular 4.
  • We want embed those angular forms in existing web client. iFrame is an idea, are there others?
  • Same thing in native win client. The new form is opened using a embedded webbrowser in the legacy application showing the new form.
  • Rewrite step by step the old forms in angular 4 and replace the old ones.
  • Put together a complete angular 4 SPA application replacing windows and web client.

What do you think about this idea?

Is angular 4 suitable for such a migration strategy? Or should we consider using other frameworks?

Angular 4 is designed, as i now, with SPA in mind. Is ist realistic to create "mini-spa" just rendering one form? Can those forms load fast? The "mini-spa" should, of course, only load the components and modules needed for this one form.

like image 639
brenkdar Avatar asked Nov 08 '22 17:11

brenkdar


1 Answers

Let's start saying that this is a really big question, primarily based also on personal opinions, and there is not a general and correct answer to it.

First, I strongly recommend you to add in your post also the tags related to the Microsoft technologies you are using at the moment, because maybe in this way you may find someone who already walked on the same road.

Then let's start replying to some of your practical questions:

We want embed those angular2 forms in existing web client. iFrame is an idea, are there others?

Yes, there are. Instead of using an iFrame and embed there your entire SPA application pointing to your app, I would suggest you to use Web Views which actually allow you to embed the "web code" inside them. It is usually a really better practice then using iFrames pointing to an application.

Is angular 2 suitable for such a migration strategy? Or should we consider using other frameworks?

Yes, Angular is one of the best framework at the moment for building SPA. At the moment the world is actually divided mostly between Angular and ReactJS, which is actually mostly "just" a view engine, and usually it comes together with other technologies like Redux for managing the models if you're building a large application.

Keep also in mind that at the moment the last version of Angular is Angular 4, so starting with a new application right now, maybe it would be a good idea to start with the last available one.

And there are also other frameworks for SPA. But if you google, you will find a lot of articles speaking about them and "comparing them", so it's pretty useless to turn this post as a comparison between all the frameworks. They are all valid, it is just up to you to choose the one you like more or the one which suits better your needs.

Is it realistic to create "mini-spa" just rendering one form?

Actually you can, so it is realistic.

Is it appropriate? I have no idea, it depends on the complexity of the forms and all the operations you have within them. In my personal opinion for example, if you are going to create a mini SPA just for creating two text fields and a button, and on click you need to call your backend service, maybe it is not really the best approach to create a full SPA just for it.

those forms load fast?

This question depends on a lot of aspects related to performances of front end development. So considering you are implementing all fine, and using a lot strategies for performances optimization, yes they do load fast.

What do you think about this idea?

Actually in your post you didn't explain the reasons of why you are thinking to migrate. What are your current issues? What are the sections which you would like to improve? What are the limitations imposed by this kind of technologies you are using at the moment and that you think they will be fixed switching to this new architecture?

And there are also other aspects to consider like: do you have time from your business for doing a so big refactor? what is the actual knowledge of the team regarding these new technologies you would like to use?

So unfortunately the answer to this question is not so easy to provide.

like image 127
quirimmo Avatar answered Nov 27 '22 20:11

quirimmo