 Hi, I'm good evening. So my name is Maher. I'm a web developer. Tonight I'm going to discuss about what's new in AngularJS. So before I start, can I check who among you are Angular developers? Anyone who have heard of Angular before? Anyone who doesn't plan to raise their hands any time of the night? So I'm telling this to you because I'm not also an Angular developer. So I'm just learning recently and then I notice that they have a new version. So because I notice that every time I try to learn, they have a new version. So I wanted to share with you just like a brief overview. So I haven't really tried it in any like actual projects. So I might need the help of Angular developers here. If I don't make any sense, please just tell me or just sign to stop. So just a brief introduction about what Angular can do. So that's how the three key things that they do that you can do on their website is you can build progressive web apps. It's something, a technology now that you can build your website faster. As fast as it can be even if the internet is cut down or slow. So that's the goal. And then you can also do native apps same as how the rest of other JavaScript framework nowadays. And then desktop. This one is actually interesting. I'm not pretty sure how is the integration for desktop applications because I also do web, I mean, I also do desktop applications before. So I'm curious. So for the versions, they have started with AngularJS version one. It actually started with only as an NBC framework. So it's fully for web development. And then the next one would be, so actually when I started reading about Angular, it was in AngularJS. And then during that time they transitioned to Angular. So technically now you're not supposed to call it AngularJS or version one or version two. It's just called Angular. So the main difference is they use a TypeScript now starting Angular 2. So I'm not really sure why it's version four right now. So if you are developing using Angular, you should be familiar with the Angular CLI. So it's a command line interface. If you upgrade the current version of CLI, you should be able to get the latest version of Angular, which is five. So we start with the first thing that they have done. So build the optimizer. So the main goal of upgrading from version four to five is to make the development and the application faster because the previous version, they notice that there's a lot of files involved during the build, during the compile. So the first thing is the build optimizer. So it's now included in the Angular CLI. So when you do your build, it's already included for build optimizer. And then the main thing about this update is they decrease the size of production bundles. Later, I'm going to show you how's the difference between the four and the fifth one. So another thing is the compiler improvements. They also change to TypeScript transforms. And then because of that, they are able to support incremental compilation now. So whatever files you have updated would be the one that would be produced for your build. So that makes your build faster, especially for your production builds. So because when I was reading about it, I noticed when I did the build, so they produced the production files. I'm not sure if it's clear. So currently, I just used the default files that they produced. It produced like around 4MB of file. And then when I upgraded the same application, I noticed that the result is around 200kb. So what they did is they don't include the files that are not really needed in the production build. And then the next update would be I'm not sure if this is fully implemented, the goals that they wanted. Because the main goal for Angular for the next few release, I think it's in a beta as well. So they wanted to build progressive web apps easier for developers. And then the main goal is to make it a default option for developers. So whenever you build an Angular website, I suppose it would be a progressive web app as a default. And then the next would be AOT is on a default. This is actually already in Angular 4, but they made it as a default. It's a head of time compiler. The main difference is it's not just in time. So when you have a head of time compiler, it actually builds the JavaScript, the files, before it even go on the runtime. So because when you had a just-in-time compiler, it only does the rendering, the build when it loads on the browser. So there's a difference between the speed of how you compile it. So which makes it faster on the rendering portion. And then compilation when necessary. So watch mode. I haven't tried this when I'm reading around Angular, but I'm not sure if it's the same concept as how you did it in SAS. When you can actually set the application in a watch mode, where every time you do a save, the output files of your build actually gets the updates that you do. So and then they did some improvements with the Universal Transfer API. So this is actually what they... It's a concept where you can use the API to communicate between your application and the server side. From the client side and the server side. So they introduced the server transfer state module, which sends over data. If I'm not mistaken, this is actually on the server side where you can pass data over the HTTP. And full support of Domino. So this is more of DOM manipulation within the server side context. So actually, I will not include any code. I'm just also learning as of the moment with Angular. So yeah, I think that's it for my slides. Thank you. So you said that you are not yet using? Yeah, I'm just reading around actually. What else do you use and why would you consider Angular 5? What are you looking for? I'm actually a .NET developer during the day. We don't have any specific frameworks yet. I'm more into just when we do client side as of now, the current structure is we use bootstrap and just the basic jQuery. So because I have this project that I'm trying to consider using Angular because I saw how the transition when you do just the basic saving and manipulation of the DOM, I would say it's really fast. There's a big difference between the old way of how we do it. And then because I got interested when you can do across everything from the web to the native app to even the desktop application. So that's the one that made me really interested with it. Anything else? You mentioned the watch. Do you know if that does reloading in the browser? Do you have to reload? That one I'm not really sure but there's a specific command that you can run. As what I mentioned, I tried it in SAS CSS. When I update the file, it actually reproduces the files directly on the output portion. But I'm not really sure if you need to refresh it if that's how Angular works. Yeah. Actually, I can't get rid of the question later. Alright. Thank you. Thank you so much.