<?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: Ameya Joshi</title>
    <description>The latest articles on Forem by Ameya Joshi (@ameya).</description>
    <link>https://forem.com/ameya</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%2F1124182%2Fe6eedbd8-7bcc-4ef8-a674-51d86bda1d77.png</url>
      <title>Forem: Ameya Joshi</title>
      <link>https://forem.com/ameya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ameya"/>
    <language>en</language>
    <item>
      <title>JavaScript frameworks</title>
      <dc:creator>Ameya Joshi</dc:creator>
      <pubDate>Sun, 23 Jul 2023 12:08:53 +0000</pubDate>
      <link>https://forem.com/ameya/javascript-frameworks-4jd0</link>
      <guid>https://forem.com/ameya/javascript-frameworks-4jd0</guid>
      <description>&lt;h2&gt;
  
  
  What are JavaScript Frameworks?
&lt;/h2&gt;

&lt;p&gt;Javascript frameworks are tools or libraries that help developers in developing an app. These use a completely different syntax of JavaScript or just add functionality.&lt;/p&gt;




&lt;h3&gt;
  
  
  What we'll discuss:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Do you need a framework&lt;/li&gt;
&lt;li&gt;Most Popular Frameworks

&lt;ul&gt;
&lt;li&gt;ReactJS&lt;/li&gt;
&lt;li&gt;Svelte&lt;/li&gt;
&lt;li&gt;Angular&lt;/li&gt;
&lt;li&gt;Vue&lt;/li&gt;
&lt;li&gt;Ember JS&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Which framework is best for you&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Do you need a framework?&lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;You have a framework, but do you &lt;em&gt;need&lt;/em&gt; it?&lt;br&gt;
Well at one point or another you will need a JavaScript framework. It also depends on your use case, for example if you are making a simple app for yourself or if the app does not need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code organization and maintainability&lt;/li&gt;
&lt;li&gt;Cross-platform development&lt;/li&gt;
&lt;li&gt;Rapid development&lt;/li&gt;
&lt;li&gt;Dom manipulation&lt;/li&gt;
&lt;li&gt;Extremely good and efficient SEO&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But if your app needs any of those you should consider using a framework. Your choice of frameworks can range from a simple one like HUGO or Astro to a complex multi-purpose one like React, Angular or Svelte.&lt;/p&gt;

&lt;h2&gt;
  
  
  The most popular JavaScript frameworks
&lt;/h2&gt;

&lt;p&gt;Here's a list of the 5 most popular JavaScript frameworks in 2023:&lt;/p&gt;

&lt;h2&gt;
  
  
  ReactJs:&lt;a&gt;&lt;/a&gt;
&lt;/h2&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wki5twwpc0c3c9auehi.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wki5twwpc0c3c9auehi.png" alt="ReactJS logo"&gt;&lt;/a&gt;&lt;br&gt;
ReactJS is a JavaScript framework that is created by Mark Zuckerberg(Meta). It is used to make Single Page Apps for the web, and also janky and jittery mobile apps with React Native.&lt;br&gt;
I would recommend learning NextJS frist, with this you can pretty much create whatever you want. It is also the most popular framework of the React family.&lt;/p&gt;

&lt;p&gt;Learn this to land a job at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Meta(formerly known as facebook)&lt;/li&gt;
&lt;li&gt;Pinterest&lt;/li&gt;
&lt;li&gt;Netflix&lt;/li&gt;
&lt;li&gt;The New York Times&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Pros:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Easy to learn&lt;/li&gt;
&lt;li&gt;SEO friendly&lt;/li&gt;
&lt;li&gt;Extremely good performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Cons:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Lots of boilerplate code&lt;/li&gt;
&lt;li&gt;No specific way of organizing the code, hence making it difficult to collaborate and manage the project properly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Learning Curve:
&lt;/h4&gt;

&lt;p&gt;The ReactJS framework has a pretty balanced learning curve and you can learn the essentials in about 2 weeks or less.(Took me about 10 days, to learn NextJS.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Svelte&lt;a&gt;&lt;/a&gt;
&lt;/h2&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1zqy2gbfhyo7md0gjqr.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1zqy2gbfhyo7md0gjqr.png" alt="Svelte logo"&gt;&lt;/a&gt;&lt;br&gt;
Svelte is the most loved framework according to developer community. There are many reasons for this, here's a list of the biggest reasons svelte is the most loved framework:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amazing Developer Experience(DX)&lt;/li&gt;
&lt;li&gt;Great Docs&lt;/li&gt;
&lt;li&gt;Big and active community&lt;/li&gt;
&lt;li&gt;Less boilerplate&lt;/li&gt;
&lt;li&gt;Small framework size&lt;/li&gt;
&lt;li&gt;Simplicity&lt;/li&gt;
&lt;/ul&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F586jxa25cg4jo8s6tvt9.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F586jxa25cg4jo8s6tvt9.png" alt="Developers love Svelte"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some disadvantages that come with the &lt;em&gt;"most loved framework"&lt;/em&gt; are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Limited tooling&lt;/li&gt;
&lt;li&gt;Less employers&lt;/li&gt;
&lt;li&gt;Smaller developer community&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Angular:&lt;a&gt;&lt;/a&gt;
&lt;/h2&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8fgwiiqmqu29uuneco2.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8fgwiiqmqu29uuneco2.png" alt="AngularJS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Created by Google, we have AngularJS.&lt;br&gt;
You should consider learning Angular if you want a job at:&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5pjo6nff93o1f7v9oj1.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5pjo6nff93o1f7v9oj1.png" alt="Google --&amp;gt; AngularJS"&gt;&lt;/a&gt;&lt;br&gt;
AngularJS is an open source JavaScript framework, created on 13th September 2016. It is used by many companies such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vevo&lt;/li&gt;
&lt;li&gt;NBC&lt;/li&gt;
&lt;li&gt;Udemy&lt;/li&gt;
&lt;li&gt;Upwork&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Learning Curve
&lt;/h4&gt;

&lt;p&gt;While angular has great applications and is very famous, it has one problem, the learning curve. I would like to express all of the problems with the Angular learning curve with one image:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvoz8m4i8sxcylp38ec6v.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvoz8m4i8sxcylp38ec6v.png" alt="Meme depicting angular learning curve"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Courtesy of u/coredev on reddit. Originally posted on r/angularjs 9 years ago.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pros:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Huge community of developers&lt;/li&gt;
&lt;li&gt;Great flexibility
####Cons:&lt;/li&gt;
&lt;li&gt;Verbose code&lt;/li&gt;
&lt;li&gt;Really bad learning curve&lt;/li&gt;
&lt;li&gt;Not the best performance(compared to ReactJS)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Vue&lt;a&gt;&lt;/a&gt;
&lt;/h2&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgq196xgu9qzcl7jqi1si.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgq196xgu9qzcl7jqi1si.png" alt="Vue Logo"&gt;&lt;/a&gt;&lt;br&gt;
Vue is known because it is easy to learn and flexible. It is most used by individual developers and smaller teams. Another popular framework specializing in &lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement" rel="noopener noreferrer"&gt;progressive enhancement&lt;/a&gt; is Petite Vue. Created by Evan You.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzk93zq6ndmshtw46kp5c.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzk93zq6ndmshtw46kp5c.jpg" alt="Evan You"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pros:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Unlike AngularJS, Vue is extremely easy to learn, making it a go to language for beginners who want to get into web development.&lt;/li&gt;
&lt;li&gt;Performant&lt;/li&gt;
&lt;li&gt;Flexible&lt;/li&gt;
&lt;li&gt;Component Based(much like ReactJS)&lt;/li&gt;
&lt;li&gt;Has an official CLI(Command Line Interface)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Cons:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Smaller community and ecosystem&lt;/li&gt;
&lt;li&gt;Not used by a lot of big companies&lt;/li&gt;
&lt;li&gt;Community stability&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  EmberJS&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Created by Yehuda Katz, initially released in 8 December 2011. It is used by over 510 companies. Some including: Microsoft, Linkedin etc.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj51gpw0il1ni18j4wdb9.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj51gpw0il1ni18j4wdb9.png" alt="EmberJS logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pros:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Good system for code organization.&lt;/li&gt;
&lt;li&gt;Comes with a powerful CLI(Ember CLI)&lt;/li&gt;
&lt;li&gt;Reduced need for explicit configuration&lt;/li&gt;
&lt;li&gt;Great routing&lt;/li&gt;
&lt;li&gt;Active community&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Cons:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Steep learning curve&lt;/li&gt;
&lt;li&gt;Very big framework&lt;/li&gt;
&lt;li&gt;Slower rate of community adoption&lt;/li&gt;
&lt;li&gt;Less flexibility&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Which framework is the best for you?&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;While choosing a framework you have to keep one thing in mind, "that is there is perfect framework." &lt;br&gt;
I personally like using react because of its big and active community. Getting help is really easy. But as of the best one for you:&lt;br&gt;
If you're a beginner I would recommend learning something simple like Vue, or React. They both are really good frameworks and as a beginner you can work your way up the programming ladder in practically no time.&lt;br&gt;
But really it depends on your project needs. If your main priority is to make a simple SPA(Single-Page App) with good SEO you should learn React. If you just want to learn something new as a beginner you should chose Vue. And if you are here to create a big app that requires good code maintainability, Angular is the best.&lt;/p&gt;

&lt;p&gt;With that I would like to conclude this article, and always remember:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There is no perfect framework. ~Literally almost every single JavaScript developer.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Introduction to JavaScript</title>
      <dc:creator>Ameya Joshi</dc:creator>
      <pubDate>Fri, 21 Jul 2023 17:35:52 +0000</pubDate>
      <link>https://forem.com/ameya/introduction-to-javascript-3p2b</link>
      <guid>https://forem.com/ameya/introduction-to-javascript-3p2b</guid>
      <description>&lt;h2&gt;
  
  
  What is JavaScript?
&lt;/h2&gt;

&lt;p&gt;JavaScript is a programming language that gives the frontend functionality, and has the ability to connect the it to the backend.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why use JavaScript?
&lt;/h3&gt;

&lt;p&gt;Since, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Any application that can be written in JavaScript, will eventually be written in JavaScript ~Jeff Atwood&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Writing the app in JS in the first place doesn't seem like a bad idea.&lt;/p&gt;

&lt;p&gt;JavaScript, created in 1995 by Brendan Eich, is an old yet very used language. Every website uses is in one form or another, some use it in its original form(Vanilla JS), while others use it in a framework (like: ReactJS, Vue, AngularJS, etc.).&lt;/p&gt;

&lt;h2&gt;
  
  
  What are JavaScript frameworks?
&lt;/h2&gt;

&lt;p&gt;Javascript frameworks are tools that help developers streamline the process of development by pre-determining some aspects of coding, like DOM management, providing basic structures for single-page applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do you need  JavaScript framework?
&lt;/h3&gt;

&lt;p&gt;The short answer is "yes". And the long answer is:&lt;br&gt;
It really just depends on what you want to make. Let's take an analogy for example: If you are on a fixed budget and need to buy a home, will you buy a mansion or just rent an apartment?&lt;br&gt;
It is the same thing here. If your goal is just to make a simple website without much functionality, you don't need a framework, but if your goal is making a blazingly fast enterprise app with thousands or millions of users, you should &lt;em&gt;probably&lt;/em&gt; use a framework.&lt;br&gt;
It also depends on the amount of efforts you are ready to put into the project. You can use plain JavaScript but you will probably  end up making a worse and less optimized JavaScript framework.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The last thing this world needs is another JavaScript Framework ~Jeff Delaney(of Fireship)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Which JavaScript framework should you use?
&lt;/h3&gt;

&lt;p&gt;While there are hundreds if not thousands of JavaScript frameworks that you can use. But the three most popular ones are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ReactJS- By Meta&lt;/li&gt;
&lt;li&gt;Angular- By Google&lt;/li&gt;
&lt;li&gt;Vue- By Evan You&lt;/li&gt;
&lt;/ol&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbnsz5c2ia2ephprrbti.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbnsz5c2ia2ephprrbti.png" alt="The most popular JavaScript frameworks"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  ReactJS
&lt;/h4&gt;

&lt;p&gt;React is the framework with the most weekly downloads. It also has a huge community of developers and a lot of employers hiring.&lt;br&gt;
It is also capable of making good mobile apps through React Native. It also has a large amount of extensions and expandability.&lt;br&gt;
Created and maintained by Meta.&lt;/p&gt;

&lt;h4&gt;
  
  
  AngularJS
&lt;/h4&gt;

&lt;p&gt;Angular is the frameworks with the second most weekly downloads. It is most famous for its extreme learning curve.&lt;br&gt;
Created by Google&lt;/p&gt;

&lt;h4&gt;
  
  
  Vue
&lt;/h4&gt;

&lt;p&gt;Vue is most liked by small teams and individual developers. It is the third most famous framework. It has a minimal learning curve and a decent range of extensions and expandability.&lt;br&gt;
Created by Evan You and is open sourced.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In conclusion, JavaScript is a programming language meant for the web. And by using it with a framework, you can drastically improve its functionality and even use it to make mobile apps. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
