{"id":472279,"date":"2022-07-09T13:10:21","date_gmt":"2022-07-09T10:10:21","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/starting-out-in-software-engineering-dont-bother-learning-react-js\/"},"modified":"2022-07-09T13:10:21","modified_gmt":"2022-07-09T10:10:21","slug":"starting-out-in-software-engineering-dont-bother-learning-react-js","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/starting-out-in-software-engineering-dont-bother-learning-react-js\/","title":{"rendered":"#Starting out in software engineering? Don\u2019t bother learning React JS"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6aef6c3e29f55\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6aef6c3e29f55\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/starting-out-in-software-engineering-dont-bother-learning-react-js\/#%E2%80%9CStarting_out_in_software_engineering_Dont_bother_learning_React_JS%E2%80%9D\" >&#8220;Starting out in software engineering? Don\u2019t bother learning React JS&#8221;<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/starting-out-in-software-engineering-dont-bother-learning-react-js\/#What_is_React_JS\" >What is React JS?<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/starting-out-in-software-engineering-dont-bother-learning-react-js\/#Does_your_fintech_have_global_ambitions\" >Does your fintech have global ambitions?<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/starting-out-in-software-engineering-dont-bother-learning-react-js\/#React_JS_pluses\" >React JS pluses<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/starting-out-in-software-engineering-dont-bother-learning-react-js\/#Why_you_shouldnt_learn_React_JS\" >Why you shouldn\u2019t learn React JS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/starting-out-in-software-engineering-dont-bother-learning-react-js\/#Reacts_days_are_numbered\" >React\u2019s days are numbered<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"%E2%80%9CStarting_out_in_software_engineering_Dont_bother_learning_React_JS%E2%80%9D\"><\/span>&#8220;Starting out in software engineering? Don\u2019t bother learning React JS&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p><img decoding=\"async\" src=\"https:\/\/img-cdn.tnwcdn.com\/image?fit=796%2C417&amp;url=https%3A%2F%2Fcdn0.tnwcdn.com%2Fwp-content%2Fblogs.dir%2F1%2Ffiles%2F2022%2F07%2Fstudying-can-be-satisfying-were-proving-it.jpeg&amp;signature=9d53c2143add4db1615987f2c899e7f8\" \/><\/p>\n<div id=\"article-main-content\">\n                            <em>This <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/builtin.com\/software-engineering-perspectives\/dont-learn-reactjs\">article<\/a> was originally published on <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/builtin.com\/\">Built In<\/a> by Alex Zito-Wolf.<\/em><\/p>\n<p>React JS is a Java<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">Script<\/a> framework with 10 years of maturity and a huge community supporting its growth and development. But you shouldn\u2019t learn it in 2022. Here\u2019s why.<\/p>\n<p>First, a brief primer: React is currently the most popular front-end framework in the industry. It provides concrete APIs, software design patterns and tooling to help you build web applications faster and in a more maintainable way. A huge community of developers is also continually creating tools and components that you can integrate into your own apps or websites, which adds to its popularity and utility.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"What_is_React_JS\"><\/span>What is React JS?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"inarticle-wrapper channel-cta\">\n<div class=\"ica-text\">\n<h4><span class=\"ez-toc-section\" id=\"Does_your_fintech_have_global_ambitions\"><\/span>Does your fintech have global ambitions?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Before you consider expansion, check out our handy checklist<\/p>\n<\/div>\n<\/div>\n<p>React is currently the most popular front-end framework in the industry. It provides concrete APIs, software design patterns, and tooling to help you build web applications faster and more maintainably. A huge community of developers are also continually creating tools and components that you can integrate into your own apps or websites, which adds to its popularity and utility.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"React_JS_pluses\"><\/span>React JS pluses<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You might choose to learn React for many reasons. For one, it has a fast learning curve for new developers. If you\u2019re not an expert web developer, React can be an easy way to introduce yourself to a lot of HTML, CSS and JS concepts all at the same time. You also don\u2019t need to start with the basics if you begin your career using React \u2014 you can take features that other developers have built and combine them, often eliminating the need to write features from scratch.<\/p>\n<p>React also teaches implementers some positive development practices. Its nature forces you to isolate UI component functionality and build small pieces of the interface that do only one thing well. <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/general\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"General\" target=\"_blank\" rel=\"noopener\">General<\/a>ly speaking, methods that are more <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Loose_coupling\">loosely coupled<\/a> (with less external dependencies and with fewer responsibilities) are easier to unit test and easier collaborate on, especially if you\u2019re working on a large application. React also teaches you to think like a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Functional_programming\">functional programmer<\/a> and even extends functional programming concepts with methods that return HTML instead of JavaScript objects.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_you_shouldnt_learn_React_JS\"><\/span>Why you shouldn\u2019t learn React JS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Despite its plusses, reasons are mounting to not learn React. We\u2019ve arrived at a tipping point where it may not be worth adding this tool to your kit as an engineer.<\/p>\n<p>First and foremost, React keeps developers from learning many of the fundamentals of web development, especially when it comes to <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Separation_of_concerns\">separation of concerns<\/a> and the basics of the core web technologies, HTML, CSS and JS. The React interface abstracts away browser APIs for building websites so that developers who only know how to build in React won\u2019t need to understand them.<\/p>\n<p>When a new HTML markup specification reaches full browser support, these developers will often be the last to use it because React applications often don\u2019t play well with browser features. This problem is a huge loss for the development community at large: We\u2019re keeping engineers from becoming real experts in web technologies because they\u2019re too busy learning React specifics.<\/p>\n<p>Secondly, React requires extremely complex build tooling that ultimately reduces code maintainability. To run your React code in production, at least four steps of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Source-to-source_compiler\">transpilation<\/a> need to occur, often leading to complicated configurations that can take years to master.<\/p>\n<p>Without diving too deeply into the specifics, React files (typically written with a .jsx extension) cannot be executed directly by a web browser and need to be converted into a file type that is readable, typically javascript files. At the end of all the transpilation, the code that you wrote is unrecognizable from the code that runs, making it much harder to debug.<\/p>\n<p>These complex build processes also make the long-term maintenance of your applications much more difficult. Because of the build tool complexity, your choice of tool can ultimately be as restricting as your choice of front-end framework in terms of maintainability. If your application has a build tool configuration that is outdated, it can be a challenge to find new developers that will be able to maintain it.<\/p>\n<p>Finally, React\u2019s pioneering concept of component-based UI development has been adopted by the development community at large. Now, more and more varied options exist, provided both by competing front-end frameworks and by browsers themselves. React created a paradigm shift in web development, moving developers from thinking about HTML, CSS and JS as separate resources, to thinking in terms of units of functionality or \u201ccomponents\u201d that contain all three and can be shared and reused. This framework is now the de facto mental model for web development, and the space has become saturated with choice.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Reacts_days_are_numbered\"><\/span>React\u2019s days are numbered<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The signs that React is losing its monopoly on component-based web development are clear. Competing frameworks are now starting to pull ahead in terms of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/insights.stackoverflow.com\/survey\/2021#most-loved-dreaded-and-wanted-webframe-love-dread\">developer satisfaction<\/a> and searches for React are down over the last year. Finally, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/Web_Components\">web components<\/a>, the browser\u2019s native API for bundling up HTML, CSS and JS into reusable chunks, are finally being adopted by major browsers and are projected to be one of the most important technologies in the space.<\/p>\n<p>As a front-end developer with years of experience developing React applications, I believe it will have many more years of life as the most popular framework for web developers. Every tool has a lifecycle, though, and React is starting to reach the end of its (extremely influential) life. The concepts that React brought to the world of web development will continue to grow and develop, but if you\u2019re not in the world of React development already, I would recommend that you take a step back and reconsider based on the current <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/technology\/\" data-internallinksmanager029f6b8e52c=\"4\" title=\"Technology\" target=\"_blank\" rel=\"noopener\">technology<\/a> available to you.\n                        <\/p><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong>\n<\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/thenextweb.com\/news\/software-engineering-dont-learn-react-js\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Starting out in software engineering? Don\u2019t bother learning React JS&#8221; This article was originally published on Built In by Alex Zito-Wolf. React JS is a JavaScript framework with 10 years of maturity and a huge community supporting its growth and development. But you shouldn\u2019t learn it in 2022. Here\u2019s why. First, a brief primer: React&#8230;<\/p>\n","protected":false},"author":1,"featured_media":472280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/img-cdn.tnwcdn.com\/image\/tnw?filter_last=1&fit=1280,640&url=https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/07\/studying-can-be-satisfying-were-proving-it.jpeg&signature=727b120c3d033e8d4408faeceaff7575","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-472279","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/472279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=472279"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/472279\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/472280"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=472279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=472279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=472279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}