<?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: Arundhati Gupta</title>
    <description>The latest articles on DEV Community by Arundhati Gupta (@arundhatigupta).</description>
    <link>https://dev.to/arundhatigupta</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%2F390814%2Fe51b91b5-f49f-4ad4-a2c2-c481cc97a37c.jpeg</url>
      <title>DEV Community: Arundhati Gupta</title>
      <link>https://dev.to/arundhatigupta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arundhatigupta"/>
    <language>en</language>
    <item>
      <title>Android Clean Architecture Boilerplate Code Generator</title>
      <dc:creator>Arundhati Gupta</dc:creator>
      <pubDate>Wed, 20 May 2020 14:30:45 +0000</pubDate>
      <link>https://dev.to/arundhatigupta/android-clean-architecture-boilerplate-code-generator-3fld</link>
      <guid>https://dev.to/arundhatigupta/android-clean-architecture-boilerplate-code-generator-3fld</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1v2OoKZV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/t27rm7br2efuza2e9x8t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1v2OoKZV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/t27rm7br2efuza2e9x8t.png" alt="Clean Architecture"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Good architecture makes the system easy to understand, easy to develop, easy to maintain, and easy to deploy. The ultimate goal is to minimize the lifetime cost of the system and to maximize programmer productivity." &lt;br&gt;
― Robert C. Martin&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Assuming, that you are aware of what clean architecture is, I would jump over to the subject of the blog i.e. the Generator for Android Clean Architecture Boilerplate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jz9DXHFT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7dfos4o9mky9c73ipgh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jz9DXHFT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/w7dfos4o9mky9c73ipgh.gif" alt="I don't know"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Haha! Just in case, you are a newbie or are curious what clean architecture is you might want to have a look at an excellent &lt;a href="https://medium.com/r/?url=https%3A%2F%2Ffive.agency%2Fandroid-architecture-part-1-every-new-beginning-is-hard%2F"&gt;blog&lt;/a&gt; on Clean Architecture and then proceed.&lt;/p&gt;

&lt;p&gt;Have you been an app developer who has been writing code (or maybe copying code from exiting apps) while beginning to develop a new app? Then, the Android Clean Architecture Code Generator is here to save your time!&lt;/p&gt;

&lt;p&gt;Good architecture is a must in today's fast-growing world of technology. You might have to write a bit more code (that obviously requires extra effort) in the beginning, but as you continue with development, you realise that it is worth your time.&lt;/p&gt;

&lt;p&gt;In an effort to reduce this recurrent effort in the beginning, I have tried to come up with a code generator that provides a base Android application boilerplate based on the principles of clean architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Stack Used&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kotlinlang.org/"&gt;Kotlin&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/ReactiveX/RxJava"&gt;RxJava&lt;/a&gt; and &lt;a href="https://github.com/ReactiveX/RxAndroid"&gt;RxAndroid&lt;/a&gt;&lt;br&gt;
&lt;a href="https://square.github.io/retrofit/"&gt;Retrofit&lt;/a&gt;/&lt;a href="https://medium.com/r/?url=http%3A%2F%2Fsquare.github.io%2Fokhttp%2F"&gt;OkHttp&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/r/?url=https%3A%2F%2Fgithub.com%2Fgoogle%2Fgson"&gt;Gson&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/r/?url=http%3A%2F%2Fgoogle.github.io%2Fdagger%2F"&gt;Dagger 2&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/r/?url=https%3A%2F%2Fgithub.com%2FJakeWharton%2Ftimber"&gt;Timber&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/r/?url=http%3A%2F%2Ffacebook.github.io%2Fstetho%2F"&gt;Stetho&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Assuming you have pre-installed &lt;a href="https://medium.com/r/?url=https%3A%2F%2Fnodejs.org%2F"&gt;node.js&lt;/a&gt;, perform the following steps:&lt;/p&gt;

&lt;p&gt;Install &lt;a href="https://medium.com/r/?url=http%3A%2F%2Fyeoman.io"&gt;Yeoman&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g yo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Install the generator-android-clean-architecture-boilerplate&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g generator-android-clean-architecture-boilerplate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Generate your new project as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir NewApp
cd NewApp
yo android-clean-architecture-boilerplate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You may check out the complete code on &lt;a href="https://github.com/arundhatigupta/generator-android-clean-architecture-boilerplate"&gt;GitHub&lt;/a&gt;. 😃&lt;/p&gt;

</description>
      <category>android</category>
      <category>kotlin</category>
      <category>npm</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
