<?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: Gustavo Duarte</title>
    <description>The latest articles on DEV Community by Gustavo Duarte (@gustavohd18).</description>
    <link>https://dev.to/gustavohd18</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%2F212871%2Ff200292b-ec34-47d1-8a61-b9225df984f4.jpg</url>
      <title>DEV Community: Gustavo Duarte</title>
      <link>https://dev.to/gustavohd18</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gustavohd18"/>
    <language>en</language>
    <item>
      <title>My first experience use VIPER in Android App development</title>
      <dc:creator>Gustavo Duarte</dc:creator>
      <pubDate>Mon, 08 Jun 2020 13:12:47 +0000</pubDate>
      <link>https://dev.to/gustavohd18/my-first-experience-use-viper-in-android-developer-1o2o</link>
      <guid>https://dev.to/gustavohd18/my-first-experience-use-viper-in-android-developer-1o2o</guid>
      <description>&lt;p&gt;Hi everyone! This is my second post here and I want to tell you about my experience using architecture VIPER for Android App development.&lt;br&gt;
First thing, what is VIPER? VIPER is an architectural pattern like MVC or MVVM but it separates the code further by single responsibility.&lt;/p&gt;

&lt;p&gt;Each of the letters in VIPER is one component of the architecture: View, Interactor, Presenter, Entity, and Router.&lt;br&gt;
The View is the interface.&lt;br&gt;
The Interactor is a class working between the presenter and the data.&lt;br&gt;
The Presenter is the “traffic cop” of the architecture, directing data between the view and interactor, taking user actions, and calling to a router to move the user between views.&lt;br&gt;
The Entity represents application data.&lt;br&gt;
The Router handles navigation between screens.&lt;br&gt;
For IOS developers, it's more common to work with this architecture because it came from IOS development but, some time ago, this architecture became known to the android world.&lt;/p&gt;

&lt;p&gt;My old experience with architecture was MVC which, to a mobile developer, was difficult to use because you don't know where you need to add code and it's hard to test, as well.&lt;/p&gt;

&lt;p&gt;Honestly, when I started using VIPER, I saw how easy it was to understand. Once you and your team get the principle for this architecture, developing becomes easier and comprehensive, in each feature you develop, you already know how to structure it.&lt;br&gt;
But on the other side, I saw how it can be verbose because you needed to use View, Presenter, Interactor, Router in almost everything. For example, if you just need to put a button on the screen to show a message, you need to create a function inside view and presenter. It would be easier to just put the method in View but if you do that is not VIPER anymore. &lt;/p&gt;

</description>
      <category>architecture</category>
      <category>beginners</category>
      <category>android</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>My first experience using Kotlin instead of Java to develop mobile Android</title>
      <dc:creator>Gustavo Duarte</dc:creator>
      <pubDate>Sat, 09 May 2020 22:19:08 +0000</pubDate>
      <link>https://dev.to/gustavohd18/my-first-experience-using-kotlin-instead-of-java-to-developer-mobile-android-2bfg</link>
      <guid>https://dev.to/gustavohd18/my-first-experience-using-kotlin-instead-of-java-to-developer-mobile-android-2bfg</guid>
      <description>&lt;p&gt;So Hi everyone! This is my first post here and I hope you enjoy. Like the title, I'll talk about my first experience using Kotlin instead of Java in the Android developer world in real projects. Unless 2 months I joyed with Teams android develop in my work, after that I had developed some small apps using Java unless 2 years ago and in my work.&lt;/p&gt;

&lt;p&gt;I was working with Rust language. So, why I started the developer apps 2 years ago? and why Java? first Java was the second language I learned(first was Python) it makes it easier to started developer apps, Kotlin was started adopted from Google to Android, and second I really had interesting in how apps were created.&lt;/p&gt;

&lt;p&gt;My first day saw code base full Kotlin was amazing and little scare, amazing because all code was easier to read special class, inheritance and polymorphism, scare because have a lot different like val and var private inlate and other thinks like functional programming features using together with OOP. &lt;/p&gt;

&lt;p&gt;One week after that I wrote some code to project and guess I had fun too when a developer one thing with Java a lot of years I not fun more and not because Kotlin was a new Language was because Kotlin gives me more productivity, logic matter more write some getter and setter I know some IDE do this but is not same.&lt;/p&gt;

&lt;p&gt;Today was 2 month I'm working with Kotlin and one thing it's really bad is a way you could use OOP and functional programming because is really easier you confuse some things and your code became more unreadable because of that. Another thing is the null pointer because kotlin is null safe but interoperation with Java, because that if you use some third library in java you could have a null pointer(Belive this is bad things). Thanks, everyone and I hope you like to feel free to comment too. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>kotlin</category>
      <category>android</category>
    </item>
  </channel>
</rss>
