<?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: Balaji Jayakumar</title>
    <description>The latest articles on DEV Community by Balaji Jayakumar (@killswitchh).</description>
    <link>https://dev.to/killswitchh</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%2F758455%2F546261ab-035a-4762-9810-67709f10adab.jpeg</url>
      <title>DEV Community: Balaji Jayakumar</title>
      <link>https://dev.to/killswitchh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/killswitchh"/>
    <language>en</language>
    <item>
      <title>AI Powered unit testing ✨</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Sun, 21 May 2023 00:40:59 +0000</pubDate>
      <link>https://dev.to/killswitchh/let-ai-write-the-tests-for-you-2ehn</link>
      <guid>https://dev.to/killswitchh/let-ai-write-the-tests-for-you-2ehn</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;AI unit Tests Generator. This project uses Github actions to write unit-tests for your code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission: Maintainer Must-Haves
&lt;/h3&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/killswitchh/ai-unit-test"&gt;https://github.com/killswitchh/ai-unit-test&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;Source Code&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vr8l7pjm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cwqytusyu25e8s8ylph9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vr8l7pjm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cwqytusyu25e8s8ylph9.png" alt="Source Code of addition.py" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Generated AI Tests&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QnJzWqTX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ad1iu7ida812xg8iefe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QnJzWqTX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ad1iu7ida812xg8iefe.png" alt="Generated AI tests containing 3 test cases" width="800" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;A Github action that uses GPT to generate unit-tests for your code&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/killswitchh/ai-unit-test"&gt;https://github.com/killswitchh/ai-unit-test&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;MIT License&lt;/p&gt;

&lt;h2&gt;
  
  
  Background (What made you decide to build this particular app? What inspired you?)
&lt;/h2&gt;

&lt;p&gt;Open Source projects have a lot of intricate details and new features that are getting added frequently. Unit testing is a way to make sure that the features don't have any regression impacts and will encourage the developer to make large refactors without any fear.&lt;/p&gt;

&lt;p&gt;This tool just makes that process a bit easier, whenever a branch is forked for a new feature, upon every push to the branch. This Github action will automatically write unit-tests for the added files.&lt;/p&gt;

&lt;p&gt;So by the time the pull request gets generated to merge to main, it will have a set of AI generated unit-tests for the feature reducing developer's time to write these tests. &lt;/p&gt;

&lt;p&gt;Here's a diagram to explain the flow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UXfqhBjk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e7w7uirm1fhcg82q8ydv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UXfqhBjk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e7w7uirm1fhcg82q8ydv.png" alt="Gitflow diagram" width="698" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it (How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?)
&lt;/h3&gt;

&lt;p&gt;I Used Github actions to run a python script that integrates with Open AI to generate unit-tests for the code files.&lt;br&gt;
I learnt using Github actions and Open AI's library while building this. I was new to both of them.&lt;br&gt;
The community submissions also inspired me a lot here!&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;p&gt;I would like to thank the organizers for setting up and running this event. It is brining a lot of developers together and everyone is learning something new!&lt;/p&gt;

</description>
      <category>githubhack23</category>
      <category>githubactions</category>
      <category>ai</category>
      <category>gpt3</category>
    </item>
    <item>
      <title>AI Video Generation - Where are we today?</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Sat, 13 May 2023 19:07:33 +0000</pubDate>
      <link>https://dev.to/killswitchh/ai-video-generation-where-are-we-today-4ceg</link>
      <guid>https://dev.to/killswitchh/ai-video-generation-where-are-we-today-4ceg</guid>
      <description>&lt;p&gt;Have you ever wondered how AI is changing the world of video generation?&lt;/p&gt;

&lt;p&gt;In recent months, there have been major advances in AI video generation. This technology is still in its early stages, but it has the potential to revolutionize the way we create and consume video content.&lt;/p&gt;

&lt;p&gt;In this blog post, we will discuss the latest advances in AI video generation and explore the potential applications of this technology. We will also provide some examples of how AI video generation is being used today.&lt;/p&gt;

&lt;p&gt;Lets Read on to learn more about this exciting new technology!&lt;/p&gt;

&lt;h2&gt;
  
  
  Generative AI for Images
&lt;/h2&gt;

&lt;p&gt;A video is nothing but a set of arranged images displayed in a rapid succession. Let's have a look at Generative AI Imaging before we go to videos.&lt;/p&gt;

&lt;p&gt;This is a very popular topic and it has already affected a lot of sectors including digital art, content-creation. When it comes to AI image generation there are 4 main players.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MidJourney&lt;/li&gt;
&lt;li&gt;DALL-E&lt;/li&gt;
&lt;li&gt;Adobe Firefly&lt;/li&gt;
&lt;li&gt;Stable diffusion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These models are trained on massive datasets of images, and they can use this data to create new images that are both realistic and creative.&lt;/p&gt;

&lt;p&gt;I went ahead and gave a same prompt to all 4 models.&lt;br&gt;
&lt;code&gt;PROMPT: Award-winning landscape photography&lt;/code&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ti_KVNzZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j85w6qek87oxcc0yn3ua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ti_KVNzZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j85w6qek87oxcc0yn3ua.png" alt="AI collage" width="663" height="663"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI for videos
&lt;/h2&gt;

&lt;p&gt;It all started with &lt;a href="https://www.youtube.com/watch?v=XQr4Xklqzw8"&gt;this&lt;/a&gt; viral video of will smith eating spaghetti.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BAIIW93M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/onuv9i1l11ntd1swch50.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BAIIW93M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/onuv9i1l11ntd1swch50.jpg" alt="will smith" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ModelScope is a diffusion model from Alibaba that can generate new videos from prompts. chaindrop used ModelScope to create a video of Will Smith eating spaghetti. They first generated the video at 24 FPS, then used Flowframes to increase the FPS to 48 and slow it down to half speed.&lt;/p&gt;

&lt;p&gt;Of course, ModelScope isn't the only game in town regarding the emerging field of text2video. Runway debuted "Gen-2" and Stability AI also released an &lt;a href="https://stability.ai/blog/stable-animation-sdk"&gt;SDK &lt;/a&gt; for videos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3V76pyWK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nn83x9kjxiq7b8g2yw9s.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3V76pyWK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nn83x9kjxiq7b8g2yw9s.gif" alt="Dance v2v gif" width="101" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With Stable Animation SDK, you can create animations in three different ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Text to animation&lt;/li&gt;
&lt;li&gt;Text + image to animation&lt;/li&gt;
&lt;li&gt;Video + text to animation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While this is not anything new and a lot of community-made solutions like Deforum (&lt;a href="https://lnkd.in/gb4eqbzg"&gt;https://lnkd.in/gb4eqbzg&lt;/a&gt;) have been existing for the past few months, the ease of use of an SDK will enable a lot of creative projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JqV0B-6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vl8o97rd0l4vq72jipy4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JqV0B-6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vl8o97rd0l4vq72jipy4.gif" alt="Human" width="240" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stable diffusion also released Control Net. &lt;br&gt;
&lt;a href="https://github.com/lllyasviel/ControlNet"&gt;ControlNet&lt;/a&gt; is a neural network that adds extra conditions to diffusion models to control image generation. This allows for unprecedented levels of control over the content, style, and composition of generated images.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rLZIeCb9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zbptf9oeo24pk2sxwako.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rLZIeCb9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zbptf9oeo24pk2sxwako.gif" alt="building gif" width="108" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cant wait to see what else the world has to offer!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>todayilearned</category>
      <category>news</category>
    </item>
    <item>
      <title>Google IO 2023 - Whats new in AI?</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Wed, 10 May 2023 21:47:36 +0000</pubDate>
      <link>https://dev.to/killswitchh/google-io-2023-2f3f</link>
      <guid>https://dev.to/killswitchh/google-io-2023-2f3f</guid>
      <description>&lt;p&gt;Google IO just got over and it was packed with exciting information, Here are a few highlights.&lt;/p&gt;

&lt;h2&gt;
  
  
  PaLM 2
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w7GO0TJ_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eeuaqhqmmq5zu92j8yoc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w7GO0TJ_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eeuaqhqmmq5zu92j8yoc.png" alt="Palm" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google AI introduces PaLM 2, a new language model with improved multilingual, reasoning, and coding capabilities. It is available in four sizes, from Gecko (small and fast enough for mobile devices) to Unicorn (large and powerful).&lt;/p&gt;

&lt;p&gt;Learn more &lt;a href="https://blog.google/technology/ai/google-palm-2-ai-large-language-model/"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bard
&lt;/h2&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uS9017gH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://pbs.twimg.com/tweet_video_thumb/FvyJ1lQWABYUOnq.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--2ecHlsPs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://pbs.twimg.com/profile_images/1605297940242669568/q8-vPggS_normal.jpg" alt="Google profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Google
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @google
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kDgU_xDI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Today we’re removing the waitlist process and making Bard available in over 180 countries and territories, with more coming soon. 🎉&lt;a href="https://twitter.com/hashtag/GoogleIO"&gt;#GoogleIO&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      17:27 PM - 10 May 2023
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1656350345398714392" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OXOJJiQT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1656350345398714392" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--foTp-unf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1656350345398714392" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SFHqU4bF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;Google AI's Bard is now available to over 180 countries and is powered by PaLM2, a new language model with improved multilingual, reasoning, and coding capabilities. Bard can do things like generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way.&lt;/p&gt;

&lt;p&gt;Here are a few features of Bard with PaLM2:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multilingual: Bard can understand and generate text in over 100 languages.&lt;/li&gt;
&lt;li&gt;Reasoning: Bard can perform complex logical reasoning and solve math problems.&lt;/li&gt;
&lt;li&gt;Coding: Bard can generate code in a variety of programming languages.&lt;/li&gt;
&lt;li&gt;Creativity: Bard can generate different creative text formats, like poems, code, scripts, musical pieces, email, letters, etc.&lt;/li&gt;
&lt;li&gt;Information: Bard can answer your questions in an informative way, even if they are open ended, challenging, or strange.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Vertex AI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zsb4CisR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4cq9w60t3lqxb0tltvq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zsb4CisR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4cq9w60t3lqxb0tltvq7.png" alt="Vertex AI" width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vertex AI is a fully managed machine learning (ML) platform that helps you build, deploy, and scale ML models faster. It provides a unified data and AI platform, tooling for pre-trained and custom models, and MLOps practices to efficiently scale, manage, monitor, and govern your ML workloads. New customers get $300 in free credits to spend on Vertex AI.&lt;/p&gt;

&lt;p&gt;Check it out &lt;a href="https://cloud.google.com/vertex-ai"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Mediapipe
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qNyHkxXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nro3uigcqyyq2tx8oabg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qNyHkxXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nro3uigcqyyq2tx8oabg.png" alt="Mediapipe" width="662" height="383"&gt;&lt;/a&gt;&lt;br&gt;
Check it out here &lt;a href="https://developers.google.com/mediapipe"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A suite of customizable ML solutions makes it easy to create innovative on-device ML solutions. These solutions are designed to be easy to use, even for beginners, and include advanced ML solutions for popular tasks, such as face detection, pose estimation, and object tracking. They are also fast and efficient, making them ideal for a wide range of applications, from mobile devices to embedded systems.&lt;/p&gt;

&lt;p&gt;Thanks for reading! and let me know what your favorite announcements from Google IO were.&lt;/p&gt;

</description>
      <category>google</category>
      <category>ai</category>
      <category>machinelearning</category>
      <category>programming</category>
    </item>
    <item>
      <title>From Idea to Deployment: How I Built Devlinks</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Sun, 23 Apr 2023 13:19:46 +0000</pubDate>
      <link>https://dev.to/killswitchh/from-idea-to-deployment-how-i-built-devlinks-4no</link>
      <guid>https://dev.to/killswitchh/from-idea-to-deployment-how-i-built-devlinks-4no</guid>
      <description>&lt;p&gt;I recently finished building &lt;a href="https://www.devlink.pro/"&gt;devlinks&lt;/a&gt;, a developer focused link aggregator similar to Linktree and Beacons. I would like to share the process of how I converted this idea I had into a fully functional website within a month. I will try to keep this as beginner friendly as possible so everyone despite their proficiency in coding can follow along.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Idea
&lt;/h2&gt;

&lt;p&gt;Honestly this is the hardest phase for any project. The process for this is very simple. Start by finding a problem that you are facing, and then ideate on what you could do for solving your problem.&lt;/p&gt;

&lt;p&gt;With software engineering you are never solving a problem for the first time. Break down your problem into smaller sub-problems and chances are someone has already encountered that sub-problem and know their way around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I'm a person active on Github, Leetcode and Github and I wanted to showcase my all of them in my resume. I started to question, Is there some product that can help me put all of my links in a single page, which I can then link in my resume.&lt;/p&gt;

&lt;p&gt;There were a bunch of websites that did the same, like Linktree, beacons, Kofi. But all of these offerings missed something, They all catered to common audience and were not specific to a group of people.&lt;/p&gt;

&lt;p&gt;Whenever you widen the scope for anything, you wont be able to delve deep into it. I wanted something like Linktree, but focused for developers. I wanted to show more than just the link name in the landing page. I wanted the visitor to see more details about my Github and other developer related socials.&lt;/p&gt;

&lt;p&gt;Now that I have a defined problem statement, I can start working towards a solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Development
&lt;/h2&gt;

&lt;p&gt;Development of any product has a few stages&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Feature Extraction&lt;/li&gt;
&lt;li&gt;Design / Architecture&lt;/li&gt;
&lt;li&gt;Implementation&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Feature Extraction
&lt;/h2&gt;

&lt;p&gt;Any part of application development starts by breaking the product into a set of features. Here are the features I wanted in my product.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. User should be able to login and create a profile
2. They should be able to create and update a link page with their desired name
3. They should be able to add links to the page.
4. They should be able to view their created page in `&amp;lt;website_name&amp;gt;/&amp;lt;page_name&amp;gt;`.
5. If a link added is a developer related link (Github, Stack Overflow, Leetcode), the page should display additional information.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now that we have an overall idea of what we want in our application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;This stage of an application is where you decide what you build the application with and how the components of your applications are going to work together to solve your problem.&lt;/p&gt;

&lt;p&gt;From the feature extraction step, I was able to isolate a few components for my application&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A Database to store the user and link details&lt;/li&gt;
&lt;li&gt;A back-end server that can talk to the database.&lt;/li&gt;
&lt;li&gt;A customer facing front-end application to provide the user with an interface to talk to the backend.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Database
&lt;/h3&gt;

&lt;p&gt;We have some data to store, how we want to store the data is the next question we have to answer. &lt;/p&gt;

&lt;p&gt;Since I didn't have many relations in my feature, I decided to go with a document based DB. But going ahead with a relational Database also wouldn't be a bad choice here.&lt;/p&gt;

&lt;p&gt;Now that we decided the type of database, we should pick a database provider. I picked &lt;a href="https://www.mongodb.com/atlas/database"&gt;Mongo Atlas&lt;/a&gt; because I already have an account there. But there are other viable options like &lt;a href="https://planetscale.com/"&gt;Planet Scale DB&lt;/a&gt; or &lt;a href="https://supabase.com/"&gt;Supabase&lt;/a&gt; which have a generous free tier offering.&lt;/p&gt;

&lt;p&gt;We now want an ORM to talk to the database for us, &lt;a href="https://www.prisma.io/"&gt;Prisma&lt;/a&gt; has been around this space for a while and it has a very robust integration with a lot of database providers including MongoDB so it was a no brainer to not pick this.&lt;/p&gt;

&lt;h3&gt;
  
  
  Framework
&lt;/h3&gt;

&lt;p&gt;Now that the database is defined, we need a backend and a front-end to talk to the database. I'd like to point you to another &lt;a href="https://dev.to/killswitchh/building-an-app-using-5-javascript-frameworks-introduction-phc"&gt;article&lt;/a&gt; I wrote which has me trying out different frame works.&lt;/p&gt;

&lt;p&gt;I got extremely impressed by &lt;a href="https://kit.svelte.dev/"&gt;SvelteKit&lt;/a&gt; while trying out different frameworks and wanted to build all of my apps using that. Try it out if you haven't and give the creators some love.&lt;/p&gt;

&lt;p&gt;Svelte kit is a framework which supports Server side rendering, So I used the server part of the application to integrate with the Database and the client side of the application to interact with the User.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implementation
&lt;/h2&gt;

&lt;p&gt;Great, now we have a backend layer and an ORM to talk to the database, all that's left is to setup the frontend interface for the same and start building.&lt;/p&gt;

&lt;p&gt;Lets tackle our feature list one by one.&lt;/p&gt;

&lt;p&gt;For the authentication, I used Supabase. I wanted users to login via Github and Supabase has a really good SvelteKit integration to handle the same.&lt;/p&gt;

&lt;p&gt;The implementation part will have a lot of places where you question your sanity / your ability to code. These are phases every developer goes through and the best ones don't give up.&lt;/p&gt;

&lt;p&gt;Here are a few learnings I thought will be useful for every developer&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Be willing to unlearn&lt;/li&gt;
&lt;li&gt;Deleting code is almost always better.&lt;/li&gt;
&lt;li&gt;First, make it work then make it better.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Deployment
&lt;/h2&gt;

&lt;p&gt;I have the app ready and running in my local, I want to setup deployment so that I the site is live and available for anyone to use.&lt;/p&gt;

&lt;p&gt;We have a lot of cloud providers who facilitate deployment. AWS, GCP, Azure have their own services that allow developers to deploy their site. We also have services like Netlify and Vercel that integrate with these cloud providers simplifying the deployment process. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://vercel.com/"&gt;Vercel&lt;/a&gt; was my choice for this, since they have built-in support for SvelteKit integration, and also offer a generous free tier for all personal projects. I linked the deployment to the domain I bought from &lt;a href="https://www.hostinger.com/"&gt;hostinger.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And there we go! that's how &lt;a href="https://www.devlink.pro/"&gt;devlinks&lt;/a&gt; was made. It so happened that svelte was organizing a &lt;a href="https://hack.sveltesociety.dev/"&gt;hackathon &lt;/a&gt; at the same time, so I used this as an entry for the same.&lt;/p&gt;

</description>
      <category>svelte</category>
      <category>hackathon</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>One App 5 Frameworks - Chapter 5: Qwik</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Sat, 18 Mar 2023 11:18:38 +0000</pubDate>
      <link>https://dev.to/killswitchh/one-app-5-frameworks-chapter-5-qwik-24oe</link>
      <guid>https://dev.to/killswitchh/one-app-5-frameworks-chapter-5-qwik-24oe</guid>
      <description>&lt;p&gt;The Second framework which I picked up that's focused on Server Side Rendering is Qwik.&lt;/p&gt;

&lt;p&gt;Qwik entered the industry in the last quarter of 2022. And it has already secured the 3rd Place right after Svelte in the &lt;a href="https://2022.stateofjs.com/en-US/libraries/front-end-frameworks/#front_end_frameworks_experience_linechart"&gt;State Of JS&lt;/a&gt; survey. This has been a framework that's constantly talked about in the tech twitter space also.&lt;/p&gt;

&lt;p&gt;It made no sense to not include Qwik as my second SSR framework in the series&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Qwik
&lt;/h2&gt;

&lt;p&gt;Qwik is a web-framework that focuses on optimizing SSR by introducing a concept called resumability.&lt;/p&gt;

&lt;p&gt;Qwik allows fully interactive sites to load with almost no JavaScript and pickup from where the server left off. We'll go into resumability and other optimizations in the article as well.&lt;/p&gt;

&lt;p&gt;As users interact with the site, only the necessary parts of the site load on-demand. This precision lazy-loading makes sure that the JavaScript which will be absolutely required by the user is only loaded.&lt;/p&gt;

&lt;h2&gt;
  
  
  SSR optimizations
&lt;/h2&gt;

&lt;p&gt;When you opt for Server Side rendering, optimizations have to be made to give the end user the best experience in terms of page load.&lt;/p&gt;

&lt;p&gt;Some frameworks like Solid and Next achieve this by a concept called Hydration / Partial Hydration while Qwik achieves this using Resumability&lt;/p&gt;

&lt;h2&gt;
  
  
  Hydration vs Resumability
&lt;/h2&gt;

&lt;p&gt;Here is a really good &lt;a href="https://www.builder.io/blog/resumability-vs-hydration"&gt;article &lt;/a&gt;that explains both of these concepts in a very detailed manner.&lt;/p&gt;

&lt;p&gt;During Hydration, the code needs to be executed at two places, once at the server for creating the HTML and also once at the client for prepping it up for interactions.&lt;/p&gt;

&lt;p&gt;During HTML pre-rendering, resumability allows a framework to recover its state without re-executing the application components on the client by serializing not only the application state but also the framework state. This prevents the second execution of the code in the client side. There by making the site very fast&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning Curve
&lt;/h2&gt;

&lt;p&gt;Even though Qwik is relatively new to the scene, The documentation and tutorials are on par with some of the Seasoned Frameworks. It didn't take me long to get started with the framework.&lt;/p&gt;

&lt;p&gt;However, Qwik does have a steep learning curve, as it provides separate functions to execute code on the server as well as the client. You'll be able to get a working site up but you'll need to invest proper time to make use of all the optimizations that Qwik is providing.&lt;/p&gt;

&lt;p&gt;Their Discord community is also very active and were able to clarify some of my doubts on which I wasn't able to find a proper answer in the documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer Experience
&lt;/h2&gt;

&lt;p&gt;Qwik also comes bundled with Vite and Vitest and with prebuilt command line tools to deploy it to Vercel, Netlify etc. Which makes development, building and deploying super intuitive.&lt;/p&gt;

&lt;p&gt;If you know React, you know Qwik. Qwik follows a structure which is very similar to React, built with JSX and includes all the other features that react has to offer.&lt;/p&gt;

&lt;p&gt;For routing, I used Qwik City, which is Qwik's file-based opinionated routing system. For maintaining states I used the built in context-APIs&lt;/p&gt;

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

&lt;p&gt;Qwik is one of the fastest frameworks focused on SSR out there and while it is production ready, the learning curve to use the framework efficiently makes me consider it as a second choice after SvelteKit.&lt;/p&gt;

&lt;p&gt;Checkout the application &lt;a href="https://github-repo-finder-qwik.netlify.app/"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>qwik</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>One App 5 Frameworks - Chapter 4: Svelte/ SvelteKit</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Sat, 18 Mar 2023 08:07:33 +0000</pubDate>
      <link>https://dev.to/killswitchh/one-app-5-frameworks-chapter-4-svelte-5gh4</link>
      <guid>https://dev.to/killswitchh/one-app-5-frameworks-chapter-4-svelte-5gh4</guid>
      <description>&lt;p&gt;Now that we've explored a few Client Sided Rendering frameworks, its time to get into the Server Side Rendering space.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Server Side Rendering (SSR)
&lt;/h2&gt;

&lt;p&gt;Server-side rendering (SSR) is the process of rendering web pages on the server and sending them to the client as fully-formed HTML pages, rather than sending just the JavaScript, CSS, and other assets and having the client render the page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages and Disadvantages
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Advantages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Better initial page load time and perceived performance, as the client receives a fully-formed HTML page from the server instead of having to wait for JavaScript to download and execute before rendering the page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better SEO and social media integration, as search engines and social media crawlers can see the fully-formed HTML page and index it correctly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved accessibility, as the fully-formed HTML page can be rendered by text-only browsers and assistive technologies.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Disadvantages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Higher server load, as the server has to generate the HTML content for each request, which can be resource-intensive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Higher time to first byte (TTFB), as the server has to process the request and generate the HTML before sending it to the client.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Limited interactivity, as most of the page logic and user interactions are handled on the server side, which can limit the types of interactive features that can be implemented.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that we know what Server Side Frameworks are, I'll start sharing about my experience building our Github repositories app in two of the latest meta SSR Frameworks.&lt;/p&gt;

&lt;p&gt;The first one in this list is SvelteKit. Svelte has been under my radar for a long time as it constantly showed up as one of the top two frameworks in the &lt;a href="https://2022.stateofjs.com/en-US/libraries/front-end-frameworks/#front_end_frameworks_experience_linechart"&gt;State Of JS Survey&lt;/a&gt; that happens every year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Svelte
&lt;/h2&gt;

&lt;p&gt;Svelte is a modern JavaScript framework for building web applications. It takes a different approach to building applications compared to traditional frameworks like React, Angular, and Vue.&lt;/p&gt;

&lt;p&gt;Instead of building applications using a virtual DOM (which is the approach used by most modern frameworks), Svelte compiles your application code into highly efficient imperative code that directly manipulates the DOM. &lt;/p&gt;

&lt;p&gt;This can result in smaller, faster applications that consume fewer resources and can provide a smoother user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  SvelteKit
&lt;/h2&gt;

&lt;p&gt;SvelteKit is the Server Side rendering framework that is built on top of Svelte. I couldn't put it any better than how they've put it in their official website.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SvelteKit is the framework that grows with you! Start simple and add new features as they come&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I was greeted with a very basic app with typescript and Vite built-in making it very easy for me to get going with building the app even though I had no experience working with the framework before&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer Experience
&lt;/h2&gt;

&lt;p&gt;This takes us straight into the developer experience and learning curve. &lt;/p&gt;

&lt;p&gt;Svelte and SvelteKit are both very easy to learn. In fact, I was able to build the application from scratch using Svelte in just 45 minutes, which was faster than any of the other 5 frameworks I'm currently experimenting with.&lt;/p&gt;

&lt;p&gt;Their documentation and &lt;a href="https://svelte.dev/examples/hello-world"&gt;REPL &lt;/a&gt; along with the interactive tutorial made me understand the framework super quick.&lt;/p&gt;

&lt;h2&gt;
  
  
  Application
&lt;/h2&gt;

&lt;p&gt;SvelteKit comes with built in file based routing and a store which made it extremely easy to implement the app. I didn't have to download any external package in the project and Svelte was able to house the entire application with its inbuilt features.&lt;/p&gt;

&lt;p&gt;Native integration with typescript and Vite also increased the developer experience by a lot.&lt;/p&gt;

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

&lt;p&gt;SvelteKit is a really good SSR framework built on top of Svelte which is very quick to pickup and still has a lot more to offer. The framework grows with the app and will easily be my go-to framework for any of the applications that I'll be building in the upcoming days.&lt;/p&gt;

&lt;p&gt;Checkout the Application &lt;a href="https://github-repo-finder-svelte.netlify.app/"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>svelte</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>One App 5 Frameworks - Chapter 3: Angular</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Sat, 18 Feb 2023 07:53:25 +0000</pubDate>
      <link>https://dev.to/killswitchh/one-app-5-frameworks-chapter-3-angular-2he8</link>
      <guid>https://dev.to/killswitchh/one-app-5-frameworks-chapter-3-angular-2he8</guid>
      <description>&lt;p&gt;Angular is a full-featured framework developed by Google. It's powerful and feature-rich, making it a good choice for large-scale applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning Curve
&lt;/h2&gt;

&lt;p&gt;Angular has a very steep learning curve. You can get started with your application in the initial few hours/days, but it takes months / years to learn to do things the 'Angular' way. It's inbuilt support for RxJS just adds to this learning curve. However, when mastered, these tools bring in a plethora of customizations you will find useful for all possible scenarios that you might encounter in an application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Community
&lt;/h2&gt;

&lt;p&gt;Angular, being backed by Google has one of the best communities in the framework industry. They have a team of dev-rel engineers who constantly interact with the community collecting feedback from the people who use their product.&lt;/p&gt;

&lt;p&gt;They also have an annual developer survey to gather the insights and recommendations from the users of the framework, top recommendations from the survey directly translate to features in upcoming releases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer Experience
&lt;/h2&gt;

&lt;p&gt;Angular has a more complex syntax and a strict structure when compared to lightweight libraries like React and Vue, but it comes with a lot of built-in features that can save time and effort.&lt;/p&gt;

&lt;p&gt;Also all the Angular applications follow a very similar structure making it easy for any angular developer to get used to a new project.&lt;/p&gt;

&lt;p&gt;The built in libraries for Routing, HTTP requests make it a very easy experience for developing large scale applications. With the release of the new stand-alone components, smaller applications can also be built pretty quick with angular.&lt;/p&gt;

&lt;p&gt;I used NGRX for state management, and while it also had a learning curve when compared to redux, it got the job done.&lt;/p&gt;

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

&lt;p&gt;Angular will be my recommendation if you want to build a very large application at enterprise standards. The rich feature set of angular made sure that this is achievable.&lt;/p&gt;

&lt;p&gt;While it also scales well with smaller application due to the recent changes around the introduction of stand-alone components, there are multiple other frameworks that achieve the same in less effort.&lt;/p&gt;

&lt;h2&gt;
  
  
  Application
&lt;/h2&gt;

&lt;p&gt;You can find the application &lt;a href="https://github-repo-finder-angular.netlify.app/"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>One App 5 Frameworks - Chapter 2: Vue</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Fri, 17 Feb 2023 19:29:35 +0000</pubDate>
      <link>https://dev.to/killswitchh/one-app-5-frameworks-chapter-2-vue-31bi</link>
      <guid>https://dev.to/killswitchh/one-app-5-frameworks-chapter-2-vue-31bi</guid>
      <description>&lt;p&gt;Vue is a lightweight, easy-to-learn JavaScript framework that's great for building user interfaces. It has a simple syntax and a reactive data model, making it easy to build dynamic, interactive applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning Curve
&lt;/h2&gt;

&lt;p&gt;In my experience, Vue has the lowest learning curve of the three frameworks. Its simple syntax and clear documentation make it easy to get started, even for developers who are new to front-end development. &lt;/p&gt;

&lt;p&gt;Angular, on the other hand, has a much steeper learning curve. It has a lot of features and concepts to master, and it can be overwhelming for developers who are new to the framework. &lt;/p&gt;

&lt;p&gt;React falls somewhere in between, with a moderate learning curve. It's relatively easy to pick up, but you'll need to use third-party libraries to add additional functionality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;p&gt;When it comes to performance and scalability, all three frameworks are capable of building high-performance applications. &lt;/p&gt;

&lt;p&gt;That said, Vue has a reputation for being particularly fast, thanks to its lightweight design and efficient rendering engine. Angular and React are also fast, but they may require more optimization to achieve the same level of performance as Vue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer Experience
&lt;/h2&gt;

&lt;p&gt;Vue has a simple syntax and a clear separation of concerns between the template, script, and style, making it easy to understand and maintain.&lt;/p&gt;

&lt;p&gt;I used Pinia as a store for the application I built, Its very lightweight and integrates very well with vue3.&lt;/p&gt;

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

&lt;p&gt;Vue is a very strong recommendation from me if you want to learn web development and don't have the time to explore and cherry pick all the options that react has to offer.&lt;/p&gt;

&lt;p&gt;with Nuxt serving all the SSR requirements, Vue will be one of the frameworks I will take into initial consideration while developing any web application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Application
&lt;/h2&gt;

&lt;p&gt;Checkout the application &lt;a href="https://github-repo-finder-vue.netlify.app/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>django</category>
      <category>codenewbie</category>
      <category>learning</category>
    </item>
    <item>
      <title>One App 5 Frameworks - Chapter 1: React</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Tue, 03 Jan 2023 16:52:14 +0000</pubDate>
      <link>https://dev.to/killswitchh/one-app-5-frameworks-chapter-1-react-4kjh</link>
      <guid>https://dev.to/killswitchh/one-app-5-frameworks-chapter-1-react-4kjh</guid>
      <description>&lt;p&gt;With over 15,000,000 downloads on npm, React is one of the most popular frameworks out there. It was a no brainer to not have it included in the series. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Please note: I already have experience working with Angular, so I've tried to formulate these points from an angular developer's POV.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Programming paradigm
&lt;/h2&gt;

&lt;p&gt;React uses a functional programming paradigm, which is different from the object-oriented programming paradigm that I used in Angular.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨Hooks✨
&lt;/h2&gt;

&lt;p&gt;React hooks are functions that allow you to add state and side &lt;br&gt;
effects to functional components in React. This concept took the longest time for me to understand. &lt;/p&gt;

&lt;p&gt;But The ability to make custom hooks and the wide variety of community-developed hooks helped me understand the importance of using them. Hooks are my favorite feature in React.&lt;/p&gt;




&lt;h2&gt;
  
  
  Redux / React router: 
&lt;/h2&gt;

&lt;p&gt;One more thing that I realized while developing with react is how lightweight it is when compared to Angular. You don't get a lot of built-in features. Which reduces the bundle size and also gives customizability to the developer.&lt;/p&gt;

&lt;p&gt;I used Redux for state management. But the freedom of choice is given to the developer here, a few alternatives that I considered are the built-in context APIs and Pullstate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Application
&lt;/h2&gt;

&lt;p&gt;Checkout the application &lt;a href="https://github-repo-finder-react.netlify.app/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>css</category>
      <category>codepen</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Building an app using 5 JavaScript Frameworks - Introduction</title>
      <dc:creator>Balaji Jayakumar</dc:creator>
      <pubDate>Tue, 03 Jan 2023 16:39:44 +0000</pubDate>
      <link>https://dev.to/killswitchh/building-an-app-using-5-javascript-frameworks-introduction-phc</link>
      <guid>https://dev.to/killswitchh/building-an-app-using-5-javascript-frameworks-introduction-phc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The last thing the world needs is another Javascript Framework - Jeff Delaney&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;I started my professional Software Engineering journey in 2020 and have been working on Angular since then. I wanted to try out the other frameworks and wanted to document the learning along the way.&lt;br&gt;
What better way to learn something than by building something with it? So let's build the same application on all 5 Frameworks and perform a comparison&lt;br&gt;
I'm going to rank these frameworks along the way on a few parameters.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learning Curve&lt;/li&gt;
&lt;li&gt;Community&lt;/li&gt;
&lt;li&gt;Ease of Use&lt;/li&gt;
&lt;li&gt;Developer Experience&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Application
&lt;/h2&gt;

&lt;p&gt;I wanted the application to have a certain set of features to replicate real-world application development. We'll be building a single-page application that lists the repositories for a GitHub user. This application will have&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routing&lt;/li&gt;
&lt;li&gt;Data Store&lt;/li&gt;
&lt;li&gt;API Interaction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'll be using Typescript, ESLint, and prettier as a standard for code hygiene and Bootstrap for styling&lt;/p&gt;

&lt;h2&gt;
  
  
  The Frameworks
&lt;/h2&gt;

&lt;p&gt;Choosing the frameworks was one of the less complex part in this entire journey. I wanted to make sure I cover almost all the variants in the front-end category and did not want to miss some of the latest and greatest meta-frameworks for SSR. After a few minutes of research I ended up with this list.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/killswitchh/one-app-5-frameworks-chapter-1-react-4kjh"&gt;React&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/killswitchh/one-app-5-frameworks-chapter-2-vue-31bi"&gt;Vue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/killswitchh/one-app-5-frameworks-chapter-3-angular-2he8"&gt;Angular&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/killswitchh/one-app-5-frameworks-chapter-4-svelte-5gh4"&gt;Svelte&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/killswitchh/one-app-5-frameworks-chapter-5-qwik-24oe"&gt;Qwik&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;You can checkout the apps &lt;a href="https://github-repositories-multiframework.netlify.app/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The choice of what framework to use is completely dependent on the problem you are trying to solve. Each framework has its own sets of pros and cons that may aid or hinder the solution you would like to build for your specific problem.&lt;/p&gt;

&lt;p&gt;I'd also like to include this cool guide to frameworks in 2023 by &lt;a class="mentioned-user" href="https://dev.to/t3dotgg"&gt;@t3dotgg&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FFmJ0ipcaYAccFPi%3Fformat%3Djpg%26name%3D4096x4096" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FFmJ0ipcaYAccFPi%3Fformat%3Djpg%26name%3D4096x4096" alt="cool guide to frameworks in 2023" width="4096" height="2315"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>frontend</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
