<?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>DEV Community: Joseph Akinwole</title>
    <description>The latest articles on DEV Community by Joseph Akinwole (@joebim).</description>
    <link>https://dev.to/joebim</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%2F622264%2F6d2907dd-be7a-4033-ac0c-cc93b8a96a3d.jpeg</url>
      <title>DEV Community: Joseph Akinwole</title>
      <link>https://dev.to/joebim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joebim"/>
    <language>en</language>
    <item>
      <title>React vs Angular: Tips to help you choose ⚔️💻</title>
      <dc:creator>Joseph Akinwole</dc:creator>
      <pubDate>Sun, 30 Jun 2024 00:10:01 +0000</pubDate>
      <link>https://dev.to/joebim/react-vs-angular-tips-to-help-you-choose-49ca</link>
      <guid>https://dev.to/joebim/react-vs-angular-tips-to-help-you-choose-49ca</guid>
      <description>&lt;p&gt;Web apps are the most preferred for websites in 2024, they are known for their efficiency in building user-friendly apps, just like adding icing to a beautiful wedding cake. In other words, they make the best UI and functionalities that also run faster.&lt;/p&gt;

&lt;p&gt;Today, I will be comparing two notable frontend frameworks for building web applications &lt;strong&gt;ReactJS&lt;/strong&gt; and &lt;strong&gt;AngularJS&lt;/strong&gt; which are both javascript-based frameworks and explore their qualities and uniqueness under the hood as this will be helpful to anyone looking to learn to code with any of both.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;React shines as a speedy and adaptable JavaScript library for building user interfaces. It mostly works with managing reusable components, making it a great choice for projects that require quick changes and a focus on a smooth user experience. Unlike a full-fledged framework, React offers flexibility, allowing you to integrate it with other libraries and tools during your development process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Angular&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Angular is all about structure. it is really best at tackling complex web applications because of its strong foundation with built-in features for switching pages, working with dependencies, and more. Angular also works alongside typeScript which still focuses on a more structured code. If you are looking to work on projects that focus more on aligned rules, then angular is your guy 👍.&lt;/p&gt;

&lt;h2&gt;
  
  
  Framework Comparison
&lt;/h2&gt;

&lt;p&gt;To best classify their differences, I will be considering these three simple criteria,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structure vs. Flexibility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Personally, I see Angular as a pre-built Lego set with clear instructions, where every approach follows a particular structure with built-in features. React is the opposite. it's like a big box of regular Legos, giving you more freedom to design and build how you see fit. So if you prefer more flexibility in your code, you should just go for React&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning Curve&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Angular has a more steeper learning curve because it is quite comprehensive with strict rules and uses TypeScript which is a superset of JavaScript. This adds more features like type-checking, code quality and more, requiring in-depth knowledge of javascript to use. React is more easier to learn for beginners as it focuses on core JavaScript concepts. The best way to think of it is like learning to ride a bike with training wheels (Angular with TypeScript) versus starting on a regular bike (React with JavaScript).  While the training wheels provide initial support, they might take a bit longer to master. Although, Once you get the hang of React, working with Angular can feel more natural and flexible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speed and Performance&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;React is known for its speed, especially in smaller apps, because of its virtual DOM system that helps with updates. While, Angular with its structured framework, might be a bit slower to start, but it can be very efficient for complex applications by providing ways to manage data and components smoothly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even though it seems like I'm taking the side of reactJS, I can assure you that both frameworks are exceptional and can equally make fully functional and beautiful applications. Now, you should be able to choose which to learn first as a start to your coding journey and I wish you all the best of luck 👍 &lt;/p&gt;

&lt;p&gt;Want to learn more about coding and development opportunities? Check out these resources:&lt;/p&gt;

&lt;p&gt;HNG Internship Program: &lt;a href="https://hng.tech/internship"&gt;https://hng.tech/internship&lt;/a&gt;, &lt;br&gt;
HNG Hire Platform: &lt;a href="https://hng.tech/hire"&gt;https://hng.tech/hire&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>angular</category>
      <category>frontend</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Font Loading API: A Fun and Powerful Tool for Making Your Web Pages Look Amazing</title>
      <dc:creator>Joseph Akinwole</dc:creator>
      <pubDate>Mon, 23 Oct 2023 23:25:19 +0000</pubDate>
      <link>https://dev.to/joebim/font-loading-api-a-fun-and-powerful-tool-for-making-your-web-pages-look-amazing-4a35</link>
      <guid>https://dev.to/joebim/font-loading-api-a-fun-and-powerful-tool-for-making-your-web-pages-look-amazing-4a35</guid>
      <description>&lt;p&gt;The Font Loading API is a JavaScript API that allows developers to load fonts asynchronously. This means that fonts can be loaded in the background, without blocking the rendering of the page. This can improve the performance and user experience of web applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of using the Font Loading API&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are several benefits to using the Font Loading API, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved performance: The Font Loading API can improve the performance of web applications by loading fonts asynchronously. This means that the page can start rendering before all of the fonts have loaded, which can improve the perceived load time of the application.&lt;/li&gt;
&lt;li&gt;Better user experience: The Font Loading API can also improve the user experience of web applications by preventing the "Flash of Unstyled Text" (FOUC). The FOUC occurs when the page is rendered using a fallback font before the desired font has loaded. This can make the page look unprofessional and can be jarring for users.&lt;/li&gt;
&lt;li&gt;Support for multiple fonts: The Font Loading API supports loading multiple fonts at the same time. This can be useful for applications that use a variety of fonts, such as web editors or design tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How to implement the Font Loading API&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To implement the Font Loading API, you can use the following steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new FontFace object for each font that you want to load.&lt;/li&gt;
&lt;li&gt;Set the &lt;code&gt;src&lt;/code&gt; property of each FontFace object to the URL of the font file.&lt;/li&gt;
&lt;li&gt;Call the &lt;code&gt;load()&lt;/code&gt; method on each FontFace object.&lt;/li&gt;
&lt;li&gt;Once all of the FontFace objects have been loaded, developers can use the &lt;code&gt;document.fonts&lt;/code&gt; property to access the loaded fonts.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is an example of how to use the Font Loading API to load a single font:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;fontFace&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;FontFace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;MyFont&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;url(my-font.woff2)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;fontFace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;load&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// The font has been loaded successfully.&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To load multiple fonts at the same time, developers can use the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;fonts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;FontFace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;MyFont1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;url(my-font-1.woff2)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;FontFace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;MyFont2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;url(my-font-2.woff2)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nx"&gt;fonts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;fontFace&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;fontFace&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;load&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// The font has been loaded successfully.&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once the fonts have been loaded, you can then use the &lt;code&gt;document.fonts&lt;/code&gt; property to access the loaded fonts. For example, the following code will get the &lt;code&gt;MyFont1&lt;/code&gt; font:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;myFont1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fonts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;MyFont1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then use the &lt;code&gt;myFont1&lt;/code&gt; variable to apply the font to elements on the page. For example, the following code will set the font of the &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; element to &lt;code&gt;MyFont1&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;h1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;fontFamily&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;myFont1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Font Loading API is a powerful tool that can be used to improve the performance and user experience of web applications. It is especially useful for applications that use a variety of fonts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Additional tips for implementing the Font Loading API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a fallback font: It is always a good idea to specify a fallback font in case the desired font cannot be loaded.&lt;/li&gt;
&lt;li&gt;Use a font loader: There are a number of third-party font loaders available that can simplify the process of loading fonts asynchronously.&lt;/li&gt;
&lt;li&gt;Optimize your font files: Make sure that your font files are optimized for web use. This can be done by using a tool such as Font Squirrel Webfont Generator.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope this guide has been helpful. If you have any questions, please leave a comment below.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>api</category>
      <category>font</category>
    </item>
    <item>
      <title>Internships Goals</title>
      <dc:creator>Joseph Akinwole</dc:creator>
      <pubDate>Tue, 17 Aug 2021 11:04:09 +0000</pubDate>
      <link>https://dev.to/joebim/internships-goals-7le</link>
      <guid>https://dev.to/joebim/internships-goals-7le</guid>
      <description>&lt;p&gt;It's zuri internship again! And I'm glad to be part of it. It's been two days since my entry on the frontend pathway and my goal is to learn more on frontend web development and be grounded in my career path as a frontend developer. &lt;br&gt;
     I seek to brighten my design concept and explore many frontend frameworks and frontend tools for making better UI experience. Being able to have the right attitude to work is one important skill for a developer and I will be looking to attain knowledge on important work ethics and how to handle different technical situations I find myself in.&lt;br&gt;
     Most importantly, I would love to connect with a whole lot of awesome people along my field and learn from them. &lt;br&gt;
     I have been able to ground myself in some helpful frontend tutorials which I will be linking below and I'm glad to run this internship. Go! Zuri!&lt;br&gt;
&lt;a href="https://internship.zuri.team"&gt;https://internship.zuri.team&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Git&lt;br&gt;
&lt;a href="https://youtube.com/playlist?list=PLxuUHF3OiqfVlhMh2XaA7gx_NaavKM7C9"&gt;https://youtube.com/playlist?list=PLxuUHF3OiqfVlhMh2XaA7gx_NaavKM7C9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Figma&lt;br&gt;
&lt;a href="https://youtu.be/1MbQaYCCzzI"&gt;https://youtu.be/1MbQaYCCzzI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nodejs&lt;br&gt;
&lt;a href="https://youtu.be/fBNz5xF-Kx4"&gt;https://youtu.be/fBNz5xF-Kx4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HTML&lt;br&gt;
&lt;a href="https://youtu.be/UB1O30fR-EE"&gt;https://youtu.be/UB1O30fR-EE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Css&lt;br&gt;
&lt;a href="https://youtu.be/yfoY53QXEnI"&gt;https://youtu.be/yfoY53QXEnI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React&lt;br&gt;
&lt;a href="https://www.youtube.com/playlist?list=PLC3y8-rFHvwgg3vaYJgHGnModB54rxOk3"&gt;https://www.youtube.com/playlist?list=PLC3y8-rFHvwgg3vaYJgHGnModB54rxOk3&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>design</category>
    </item>
  </channel>
</rss>
