Tuesday, February 14, 2017

Our feedback after using : Angular 2, Typescript, .Net Core Web Api V 1.0.1, Entity framework Core 1.1.0 (Code First)

This blog post will enplane our feedback and lesson learned after completing our latest project (First Stage) using:
Angular 2 , Typescript , .Net Core Web API V 1.0.1 And Entity framework Core 1.1.0 (Code First)

The First ChapterFlashback & Fears:
- The situation before the project few months ago,
- No one in the team have any experience in that technologies.
- .Net Core still in earlier stage and not mature enough “As we thought”.

Chapter 2: Taking the Risk Decision
As most of IT people we like to know and follow the new technologies, so we did self-study as preparation without our manager know J .
After we got some self-confidence we encouraged to take the decision and speak to the manager After short negotiation with our manager we got the approval to do the next project using the new awesome tech.

Chapter 3: Technical Challenges
We encountered many challenges during the project specially the kickoff initial stages like:
- How to implement JWT using mixed mode Active directory & Forms authentication.
- How we will set our Solution Architecture.
- Because Our UI/UX team decided to use payed template that uses Many jQuery Plugins So:
o   How we will use jQuery plugins inside Angular 2 App and fixing the problems, I think I will write separated post regarding this because we encountered many problems for each plugin
o   “don’t worry after we get know how we deal with jQuery inside Ng2 app it’s fun now”.

- IIS hosting NG2 app and routing.
- Other Usual problems here and there no fancy things.

Chapter 4: Our Solution Architecture & Tools

- We are using our customized DDD “Domain-Driven Design” As following images:

- Visual Studio Team Services as source control and project management.
- Our Front-end Just Angular 2 App talking to .Net Core Web API.
o   We use “Webpack Angular Starter kit “by Angular class team @AngularClass    
https://twitter.com/angularclass , you can found it here https://github.com/AngularClass/angular2-webpack-starter

- Using Visual Studio Code for frontend solution
- Typescript 
- WebPack as module bundler included in the starter Kit @AngularClass you can read more here https://angular.io/docs/ts/latest/guide/webpack.html .

- Using some awesome vs code extensions:

Chapter 5: Our feedback/feelings after finish the first stage:
-        We fall in love with this awesome technology combination,
-         Hmm but why?
o   Angular 2 Side:
§  It’s totally framework not just another js frontend library “its good choice for large projects”, Everyone know what to do in specific steps and architecture defined by angular e.g. inject service, routing, etc.
§  Single page App is totally amazing “CoOoool”.
§  Using Typescript make you feel strong J in frontend development.   
§   Love using VS Code with angular 2.
§  Angular 2 lifecycle-hooks help a lot specially in solving jQuery issues.
§  We like angular 2 Observables and async pipes concepts.

o    .Net Core Side:
§  We like .Net Core remarkable performance.
§  Entity framework core “Code First”: no much changes that makes you spend long time to learn
§  With .Net Core you feel control over everything, inject what you need only not all framework, control lifecycle, add middleware interceptors etc...

 Finally I hope this will help someone. 


Mohamed Rashed said...

This is very passionate :), specially for me at this time, we also plan to use same stack in our new projects,
Thanks for sharing you experiance.

Unknown said...

This is awesome to take the challenge, thanks for sharing to encourage others to go through learning and not being worry of suggested problems specially security issues.
Thanks :)

john said...
This comment has been removed by a blog administrator.