JSWORLD Conference 2022 in-person taking place from 1-3 June 2022 at the Amazing Theater Amsterdam.
Join Core Team Contributors, Creators and Authors Live on Stage. Limited €100 discount now available until 5. March directly via https://www.eventbrite.nl/e/tickets-jsworld-conference-5-year-anniversary-174258159847?discount=amazingcommunity#tickets JSWORLD Conference Online - 9-11 February, 2022
Kajetan Świątek - From Angular to React, how i decided to take the next career step
There's a time in every developer's career when they ask themselves a question - "What's the next big thing for me?". There are a lot of reasons for it. We do that to improve our skills, our paychecks, to start doing things that we care about. Recently I asked this question myself and decided to gain a new perspective as a web developer - to learn the next major technology there is. After two years of working in Angular, I decided to switch to React. This talk sums up the reasons behind this change and what's my opinion about those two web giants after six months after the change.
JSWORLD Conferences Like to be kept up to date about all JSWORLD Conference Videos? https://www.jsworldconference.com/newsletter
Powered by https://passionatepeople.io
#jsworld #jsworldconference #frontendlove #frontenddeveloperlove #javascript #reactjs #angular #react #vuejs #vue #vue3 #typescript #graphql #jamstack #amsterdam #conference #svelte #sveltejs #next #nextjs #staticsite #css #html #nuxt
Hello everyone. Today's presentation is titled From Angular to React and how I decided to take the next career step. And it's divided into two parts. In the first one, I'll share with you with you my personal story about how I decided to take the next step and was the main driver behind it. And the second half is about measuring you the main differences between those two technologies. But before that, I'd like to introduce myself. I'm Kate and Shuntek. I am a front end developer from Rodsoft and you can find my work on Twitter or on my blog. And before we dive into the main content, I'd like to tell you what this stock is not. And this talk is not the next episode of the Framework course. I'm not here to criticize any framework, library, technology, or community. I'm here to just tell you what I think are the strong points of those two web Giants, Angular and React. As you may imagine, this talk is not entirely objective. It's based on my own experiences and beliefs. And going to my story, after around three years of working with Angular, I decided to move and to find myself something else. And this decision was driven strictly by my desire to learn and grow. Simple as that, and you may hear a lot about that. The best time to experience and to learn new things is the early stages of your career. And I completely agree with this statement because you may then participate in different endeavors that shape the future of your career. For example, you meet some cool people that you can learn from, see some unfamiliar solutions, technologies, architectures, or patterns. And this is a representation of an approach that I like to call a perspective driven selfdevelopment. And some time ago I wrote a blog post on the topic. And if you're interested, there's a QR code in a corner. And basically the idea is that it's good for your career to learn and try out new things, because then you gain some broader perspective and you gain the ability to form your own opinions on the field of your expertise. Thanks to that, you can make your critical decisions quicker, for example, regarding your work, your project, or your entire career. And the example of that may be learning basics of a new web framework after you already become proficient in one. And this is exactly what I did. After a year of working with Angular, I decided to learn basics of React on my own, and that's that the decision was made, and I realized there are some obstacles on the way to my dream. First of all, I got some really interesting Angular offers from the recruiters, and they were interesting because of the either cool project or even poor salary. And who doesn't want to have a cool salary? But I stayed firm with my resolution and pursued React jobs more. But when I faced the first technical interviews I got into some difficulties. I realized it was difficult for me to convince my interviewer about my abilities. Unfortunately interviewers, at least most of the interviewers were really concerned about my commercial experience. So hands on practical experience and unfortunately a self thought knowledge that I had in my head just wasn't enough. So I started thinking about possibilities to strengthen my credibility and after some time I decided to use the oldest trick in the book. So I decided to create a site project but it wasn't any typical to do MVC up. I decided it would be more useful and complex than that. So I started with gathering some ideas and requirements. I started doing graph sketches in exchange, then doing some detailed designs in Figma and then I started coding and now the application now runs in production for everyone to see and I spent a couple of weeks doing just that and to my surprise that really gave me the leverage doing my next tech interviews and it finally allowed me to land my next job. But this is a story of how and I bet you are more interested in the technicalities of why. So I'd like to do just that and share with you my point of view on Angular and React. Firstly, starting with Angular, I think it's worth to mention that I'm still very much fond of this technology despite this change of heart of mind. It has many cool features and has a nice community behind it, so I'm not surprised it is still considered one of the top three web technologies out there. Angler has been there for quite some time now and because of that it has some traits that the newer web technologies don't have. For example, it has a rich and mature ecosystem of libraries for solving typical web problems like state management with for example Ngrx or NGX component libraries like Angular Material or Prime, Ng and Internationalization like NGX Translate. Angular also has a really big and nice community behind it and the more people are interested in it, the more people are sharing their knowledge. So there are a lot of guidelines and tutorials and that makes beginners lives easier. But this is all great but I'd like to here focus on the biggest quality of Angular and that is the framework. So it has some built in solution for us developers to use. For example, it has something called Angular CLI that is a command line tool for simplifying the repeatable tasks like code generating, running a Dev server, building production bundle, etc. And also has something called Schematics that is helping us write our own templates for future code generation. Also Angular introduces its own take on what are the basic building blocks of our web applications, not only provides the typical concept of component, but also introduces concepts like Angular, module directives, pipes and services and you can think of those as the different architectural pieces for your web applications and also, Angular provides solutions for typical web problems like Http calls, handling forms, even two ways of handling forms Linting writing unit tests. And also there's dependency injection, which is quite a unique trait among web technologies. It means you don't have to bother instantiating your in code dependencies Angular compiler does it for you. The only thing you have to do is to declare what services or other building blocks you want to use inside of other building blocks, and instantiates those and shares these instances across your applications or modules. Angular was created to have a certain architecture and patterns in mind, so you could say that it's opinionated to a degree. And why is it useful to use something that is opinionated? Because you don't have to bother with making some decisions regarding your project. The decisions were already made and the solutions are already baked in and ready to use. You don't have to think about some custom solutions and worry whether they would prove useful in your long term. I personally know a team that decided to use Angler for this sole reason because they didn't have anyone proficient in any of the leading web technologies, and after a couple of years of development, they are still happy with the decision. And on the other side, what do I find great about React? And React has been there for quite some time, and it also has a rich ecosystem of libraries and big community with lots of guidelines and tutorials. But fundamentally, React and Angular are different things because Angular is a framework and React is considered to be a library. And as a part of this library, React introduces, for example, JSX, which is a syntax extension for our JavaScript code which allows us to use markup in our code. What I also fell in love with Angular was the idea of functional components. So a component in the shape of a function that takes props as input, has some optional local state and produces our UI hour markup as a result. And this idea is for me very simple, but yet very powerful. And aside from that, there are also React hooks that also feel like a good way to encapsulate and reuse logic across our applications, and that's really it. React handles only the aspect of our application that is responsible for rendering the UI. And the big question here is what did I find so great about React that I decided to switch from Angular and start learning and then working with it? It is because React is not as opinionated as Angular is, and now you probably scratch your head and thinking what the hell did this guy said? The strong point of Angular is that it's a framework, so it's opinionated, but contrary, the strong point of React is that it's not as opinionated. Let me show you the main points of this presentation, and it's that power of freedom versus power for free. So that being opinionated is both a blessing and a curse at the same time depending on the person their needs, use, cases, experiences and perspective. On the one hand we have power for free so there are some people who would find it refreshing to be stripped of some responsibilities like coming up with a technological stack or your project's architecture and this is what Angular brings to the table, tooling patterns and architecture. On the other side we have the power of freedom so there are people who enjoy freedom of choosing their perfect ad Polish stack or patterns that they refined during months or years of development. And technically speaking React does not require us to adopt any specific architecture, patterns or tooling. It provides us means to render our UIs plus what comes with react, hooks and everything else is up to us. And from my point of view after two years of working at the front end I started to mature and establish my own ways. I want to do things and there's nothing more enjoyable for me than working in daily with the stack and patterns that I feel most powerful in. And finally some key takeaways for you. Angular is a framework as it provides architecture patterns and tooling baked in ready to use and that are proved by many developers to be useful and react is not as opinionated as provides only means to render a UI. Plus what comes with react, hooks and every other decision is up to us. But if I'd like to .2 things I'd like you to take into your heart after this presentation those would be first choose whatever fits your needs and brings you joy because there is nothing Southern and doesn't contribute more to your future burnout than using something you don't enjoy and doesn't serve its purpose. And the second thing is that every technology has its own use cases where it shines and there is no framework that is all overall better than the other. This is all subjective or based on your needs and use cases and please do not contribute into making any more episodes of the frameworks that is all from my side. Thank you very much, it was my pleasure speaking to you.