<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Michael David's Blog]]></title><description><![CDATA[Michael David's Blog]]></description><link>https://mickythegeek.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 15:36:15 GMT</lastBuildDate><atom:link href="https://mickythegeek.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Exploring Mobile Development with HNG11: A Beginner's Perspective]]></title><description><![CDATA[Prologue: Rekindling my Passion for Mobile Tech
As a young engineer with a deep curiosity for tech, I have always been fascinated with world of mobile development. Few years ago, I had the opportunity to explore Android Studio and build a simple Note...]]></description><link>https://mickythegeek.hashnode.dev/exploring-mobile-development-with-hng11-a-beginners-perspective</link><guid isPermaLink="true">https://mickythegeek.hashnode.dev/exploring-mobile-development-with-hng11-a-beginners-perspective</guid><category><![CDATA[Mobile Development]]></category><category><![CDATA[Flutter]]></category><category><![CDATA[React Native]]></category><category><![CDATA[Android Studio]]></category><dc:creator><![CDATA[Michael David]]></dc:creator><pubDate>Sun, 30 Jun 2024 12:12:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/9e9PD9blAto/upload/b3c0827c950146da3b61d38c0be9f721.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-prologue-rekindling-my-passion-for-mobile-tech">Prologue: <strong>Rekindling my Passion for Mobile Tech</strong></h2>
<p>As a young engineer with a deep curiosity for tech, I have always been fascinated with world of mobile development. Few years ago, I had the opportunity to explore Android Studio and build a simple Notes app. I enjoyed the process till I couldn't because my aging computer soon became a roadblock, forcing me to put my mobile development dreams on hold. After any small modification to my codebase, the Gradle Build would take long, frustrating hours to complete. I had to pivot into other areas of technology that would demand less from the PC.<br />Now, with a more powerful PC at my disposal, I am thrilled to rekindle my passion for mobile technology. This journey has led me to the <a target="_blank" href="https://hng.tech/premium">HNG</a> program.</p>
<h3 id="heading-why-hng11">Why HNG11?</h3>
<p>So, to get started in this journey, I decided to enroll for the 11th edition of this fast-paced bootcamp for learning digital skills. It's focused on advanced learners and those with some pre-knowledge. I would get the opportunity to work with other coders, designers, product managers, and even video marketers to create innovative mobile solutions.</p>
<h3 id="heading-first-challenge">First Challenge</h3>
<p>The inaugural task for us mobile development interns is to explore and discuss the various mobile platforms and their associated software architecture patterns. In this article, I will delve into three of the most popular options: Flutter, React Native, and Android Studio, highlighting the pros and cons of each.</p>
<h3 id="heading-flutter">Flutter</h3>
<p><img src="https://techcrunch.com/wp-content/uploads/2019/05/Screen-Shot-2019-05-01-at-9.19.45-AM.png" alt="Flutter's multifunctionality" class="image--center mx-auto" /></p>
<p>This is the platform I am really interested in mainly because of the fact that just a single codebase can be compiled into high-performance, visually attractive, and native applications for not just mobile alone, but for web, desktop, and even embedded systems. It is Google's open-source mobile app Software Dev Kit (SDK) that uses the Dart programming language and provides a rich set of pre-built widgets for building beautiful UIs. Here are some of the pros and cons of this platform:</p>
<p><strong>Pros</strong>:</p>
<ul>
<li><p>Fast development times with hot reload feature</p>
</li>
<li><p>Comprehensive documentation and growing community</p>
</li>
<li><p>Ideal for MVP development and cross-platform apps</p>
</li>
</ul>
<p><strong>Cons</strong>:</p>
<ul>
<li><p>Dart is a relatively new language compared to JavaScript and Java</p>
</li>
<li><p>Fewer plugins and libraries compared to React Native and Android Studio</p>
</li>
<li><p>May lag behind if designs vary significantly between iOS and Android</p>
</li>
</ul>
<h3 id="heading-react-native">React Native</h3>
<p><img src="https://th.bing.com/th/id/OIP.cD9AtjXi8m6O8ORBuFib5QAAAA?rs=1&amp;pid=ImgDetMain" alt="React Native Tutorial for Beginners [Updated] | Simplilearn" class="image--center mx-auto" /></p>
<p>A JavaScript framework developed by Facebook for building native mobile apps using React. It allows developers to build mobile apps using only JavaScript and React, with native components rendering to the device's native platform.</p>
<p><strong>Pros</strong>:</p>
<ul>
<li><p>Vast ecosystem with a large community and many libraries and plugins</p>
</li>
<li><p>Ideal for teams comfortable with JavaScript and React</p>
</li>
</ul>
<p><strong>Cons</strong>:</p>
<ul>
<li><p>Performance can be slower than native apps due to the JavaScript bridge</p>
</li>
<li><p>Updating to newer versions can be challenging</p>
</li>
<li><p>Documentation is not as comprehensive as Flutter's</p>
</li>
</ul>
<h3 id="heading-android-studio">Android Studio</h3>
<p><img src="https://th.bing.com/th/id/OIP.irVRiihIH6ECLXkybv3AFAAAAA?rs=1&amp;pid=ImgDetMain" alt="Android Studio @ I/O ‘23: Announcing Studio Bot, an AI-powered coding ..." class="image--center mx-auto" /></p>
<p>This is Google's official environment for developing native Android apps. It provides a comprehensive set of tools for building, testing, and publishing. It supports both Kotlin and Java programming languages. Developers can choose the language that best suits their preferences and project requirements.</p>
<p><strong>Pros</strong>:</p>
<ul>
<li><p>Allows for building native Android apps with Java or Kotlin</p>
</li>
<li><p>Provides a flexible and easy-to-use Gradle-based build system</p>
</li>
<li><p>Includes templates for Google services and various device configurations</p>
</li>
</ul>
<p><strong>Cons of Android Studio</strong>:</p>
<ul>
<li><p>Focused solely on Android development, not cross-platform</p>
</li>
<li><p>Requires more time and effort to build and maintain separate iOS and Android codebases</p>
</li>
</ul>
<p>In conclusion, the choice between Flutter, React Native, and Android Studio depends on the specific needs of your project and the skills of your development team. Flutter is an excellent choice for cross-platform development with a focus on performance and UI, React Native is ideal for teams comfortable with JavaScript and React, and Android Studio is the go-to choice for building native Android apps.</p>
<p>As I embark on this exciting journey with the <a target="_blank" href="https://hng.tech/internship">HNG11</a> program, I am eager to explore these mobile development platforms further, learn from experienced professionals, and contribute to the creation of innovative mobile solutions that can positively impact people's lives.  </p>
<p>Thank you for reading. Watch out for more juicy contents from this space.</p>
]]></content:encoded></item><item><title><![CDATA[Pushing Your Code to Git (without the node_modules folder)]]></title><description><![CDATA[I think we can all agree that most developers have tried to utilize the Version Control System known as Git to track our code. More so, it is likely that there is a high percentage of us that made the mistake (might not be, though) of uploading the
n...]]></description><link>https://mickythegeek.hashnode.dev/pushing-your-code-to-git-without-the-nodemodules-folder</link><guid isPermaLink="true">https://mickythegeek.hashnode.dev/pushing-your-code-to-git-without-the-nodemodules-folder</guid><category><![CDATA[Git]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[repository]]></category><category><![CDATA[version control]]></category><category><![CDATA[npm]]></category><dc:creator><![CDATA[Michael David]]></dc:creator><pubDate>Mon, 25 Apr 2022 10:27:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/842ofHC6MaI/upload/v1650876914966/Qpm73d_Ix.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I think we can all agree that most developers have tried to utilize the Version Control System known as <a target="_blank" href="https://git-scm.com/">Git</a> to track our code. More so, it is likely that there is a high percentage of us that made the mistake (might not be, though) of uploading the
<strong>node_modules</strong> folder in our project along to the git repository. </p>
<p>Heck,I have made this mistake a couple of times and was frustrated every time. You already know why, but for those that don't, the size of a <strong>node_modules</strong> folder can be very heavy due to the dependencies (or npm packages) that are being used in a particular project. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1650876346705/CXMv6bEwq.webp" alt="nodemodulesmeme.webp" /></p>
<p>Very funny but true.😆 Just don't underestimate the size of your <strong>node_modules </strong> folder.</p>
<hr />
<p>Here is the simple way one can avoid pushing the folder:</p>
<ul>
<li><p>Create a <strong>.gitignore</strong> file inside your project folder. 
This file is a text file that tells Git which files or folders to ignore in a project. </p>
</li>
<li><p>Inside this file, you must specify the file/folder you want to ignore. In this case, the <strong>node_modules </strong>folder. We can do this by writing in the file:</p>
</li>
</ul>
<pre><code><span class="hljs-operator">/</span>node_modules
</code></pre><ul>
<li>Save the file. </li>
</ul>
<p>This is how it should look like in your favorite text editor. <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1650879182202/Fasm5n9Ld.png" alt="hashnode.png" /></p>
<hr />
<p>Now, you can go ahead!🚀 Push that code to your Git repository without having the dreadful folder tag along. Yes! We can avoid the reality of this meme.😁</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1650880274695/1tecoCP2H.jfif" alt="memedev.jfif" /></p>
<hr />
<p>I hope this read was fun as well as informative.😩 If so, I'mma catch y'all on the next one.</p>
<p><strong>Danke Schön</strong> 🙏</p>
]]></content:encoded></item></channel></rss>