<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Dan Silk</title>
    <description>The latest articles on Forem by Dan Silk (@silkster).</description>
    <link>https://forem.com/silkster</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F87433%2Fcc0dfab7-1384-465a-86ca-6508781412fa.jpeg</url>
      <title>Forem: Dan Silk</title>
      <link>https://forem.com/silkster</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/silkster"/>
    <language>en</language>
    <item>
      <title>Why You Should Use a Web Framework </title>
      <dc:creator>Dan Silk</dc:creator>
      <pubDate>Thu, 26 Jul 2018 20:16:41 +0000</pubDate>
      <link>https://forem.com/silkster/why-you-should-use-a-framework--1ga2</link>
      <guid>https://forem.com/silkster/why-you-should-use-a-framework--1ga2</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fobihcgs4wkecxupcnm1q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fobihcgs4wkecxupcnm1q.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whenever I see a comment like this one: "&lt;a href="https://dev.to/gypsydave5/why-you-shouldnt-use-a-web-framework-3g24"&gt;frameworks are making you all into bad developers&lt;/a&gt;," I figure the author just interviewed someone who couldn't answer basic questions or came out of a meeting where a junior dev suggested React for a splash page.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Framework?
&lt;/h2&gt;

&lt;p&gt;I think the definition that applies to us web developers is this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;framework: a basic structure underlying a system or concept.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A framework serves as the foundation of the website. It provides all the basic functionality that most websites need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is it easier for beginners to use a framework?
&lt;/h2&gt;

&lt;p&gt;Frameworks are usually very opinionated about things like code organization, programming concepts, language, structure, tooling, etc. This isn't a bad thing because you choose a framework for this reason. You want a framework that conforms to your idea of how web development should be done. &lt;/p&gt;

&lt;p&gt;And if you are a beginner, you have no opinions yet so the framework was probably chosen for you. As you get into it, you will find yourself saying, "oh, that's why they do that!" or "why didn't they do it this way instead?" This is good because that means you're learning!&lt;/p&gt;

&lt;h2&gt;
  
  
  Is it really hard without a framework?
&lt;/h2&gt;

&lt;p&gt;Building websites is not rocket science so it's &lt;em&gt;not&lt;/em&gt; really that hard to do it from scratch, but frameworks exist because, aside from time and money, it's very easy to get things wrong. If you DIY it, then I guarantee you will forget something that will eventually come back to bite you in the ass.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fwznro5umovdkmtna3sl0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fwznro5umovdkmtna3sl0.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would agree if someone said don't use a new framework. Test-drive new frameworks for prototypes and such, but use stable, reliable, and tested frameworks for your real-world projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shouldn't I Learn the basics, not someone's abstraction?
&lt;/h2&gt;

&lt;p&gt;The short answer is yes, please learn the basics. But... &lt;/p&gt;

&lt;p&gt;...good frameworks enforce and, in some cases, introduce best practices. &lt;/p&gt;

&lt;p&gt;...good frameworks have lots of community support. You can almost consider all the people involved in building the framework as part of your dev team.&lt;/p&gt;

&lt;p&gt;...good frameworks are modular so you don't have to load a lot of unnecessary code just to get the bare minimum required to work your site. A lot of people mention Bootstrap when talking about why you shouldn't use a framework, but Bootstrap is fairly modular so you really don't have to load everything to make your site look great and work well. You just need to learn how to use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everyone Has an Opinion
&lt;/h2&gt;

&lt;p&gt;As for the article I linked above, the one thing the author said that I agree with 1000% is this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't learn how to build React with Redux with Bootstrap with JQuery, learn HTML, CSS and JavaScript. ~ &lt;a href="https://dev.to/gypsydave5/why-you-shouldnt-use-a-web-framework-3g24"&gt;David Wickes&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I've interviewed a lot of front-end developers and I cringe every time one of them uses jQuery interchangeably with JavaScript. Don't do that! Especially in an interview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqy7pb3ywr603vcqy1c99.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqy7pb3ywr603vcqy1c99.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When someone says "don't do this" or "do that," take that with a grain of salt. Unless it's your boss and you don't have a good counter-argument.&lt;/p&gt;

&lt;p&gt;Learn. &lt;/p&gt;

&lt;p&gt;Form your own opinions. &lt;/p&gt;

&lt;p&gt;But, most of all, do your job in the time allotted, in the best way you know how, and always ask for help when you need it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The opinions expressed here are not meant to offend or otherwise hurt anyone. It's just my 2 cents.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>framework</category>
      <category>beginners</category>
      <category>react</category>
    </item>
  </channel>
</rss>
