<?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: Salif KA</title>
    <description>The latest articles on DEV Community by Salif KA (@kasali).</description>
    <link>https://dev.to/kasali</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%2F148001%2F231075e6-32b4-433f-857f-96fae23c3699.jpeg</url>
      <title>DEV Community: Salif KA</title>
      <link>https://dev.to/kasali</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kasali"/>
    <language>en</language>
    <item>
      <title>30-days plan to master Jetpack Compose with resources and three practice projects</title>
      <dc:creator>Salif KA</dc:creator>
      <pubDate>Tue, 21 May 2024 16:25:03 +0000</pubDate>
      <link>https://dev.to/kasali/30-days-plan-to-master-jetpack-compose-with-resources-and-three-practice-projects-4o7b</link>
      <guid>https://dev.to/kasali/30-days-plan-to-master-jetpack-compose-with-resources-and-three-practice-projects-4o7b</guid>
      <description>&lt;p&gt;Jetpack Compose is the modern toolkit for building native Android UI, offering a declarative approach that simplifies UI development. This 30-day plan is designed to help you master Jetpack Compose, providing a structured learning path with essential resources and practical projects. By the end of this challenge, you’ll be proficient in building sophisticated, high-performance Android applications with Jetpack Compose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Week 1: Fundamentals of Jetpack Compose
&lt;/h2&gt;

&lt;p&gt;Day 1-2: Introduction to Jetpack Compose&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/documentation" rel="noopener noreferrer"&gt;Jetpack Compose Overview&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=awcRfa1e3h0" rel="noopener noreferrer"&gt;Introduction to Jetpack Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: &lt;a href="https://developer.android.com/develop/ui/compose/tooling/relay/android-project-setup#:~:text=Create%20a%20new%20Compose%20project&amp;amp;text=To%20start%2C%20create%20a%20project,Give%20your%20project%20a%20name." rel="noopener noreferrer"&gt;Set up a new project with Jetpack Compose&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 3-4: Basic Composables&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/tutorial" rel="noopener noreferrer"&gt;Basic Composables&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=urw1D9UsA6k" rel="noopener noreferrer"&gt;Building UIs with Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: &lt;a href="https://medium.com/smartherd/jetpack-compose-button-outlined-button-and-text-button-4f8e1e41bcf" rel="noopener noreferrer"&gt;Create a simple UI with Text, Button, and Image composables&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 5-6: Layouts in Compose&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/layouts" rel="noopener noreferrer"&gt;Layouts in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=3Uqo7cZRrDc" rel="noopener noreferrer"&gt;Layouts and Modifiers in Jetpack Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: &lt;a href="https://developer.android.com/develop/ui/compose/layouts/basics?hl=en" rel="noopener noreferrer"&gt;Build a UI with Column, Row, and Box layouts&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 7: Modifiers&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/modifiers" rel="noopener noreferrer"&gt;Modifiers in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=IL3abpF5fEY" rel="noopener noreferrer"&gt;Understanding Modifiers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: &lt;a href="https://proandroiddev.com/what-can-advanced-lesser-known-modifiers-do-for-your-ui-9c76855bced6" rel="noopener noreferrer"&gt;Experiment with different modifiers to style your UI components&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Week 2: State Management and Navigation
&lt;/h2&gt;

&lt;p&gt;Day 8-9: State in Compose&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/state" rel="noopener noreferrer"&gt;State in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=BJY8nuYUMzM" rel="noopener noreferrer"&gt;State and State Hoisting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Build a simple counter app to understand state management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 10-11: Navigation in Compose&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/navigation" rel="noopener noreferrer"&gt;Navigation in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=HtvWkRR1yt0" rel="noopener noreferrer"&gt;Navigation with Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Create a multi-screen app using Jetpack Navigation
.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 12-13: Theming and Styling&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/theming" rel="noopener noreferrer"&gt;Theming in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=tHeLW5Uge4k" rel="noopener noreferrer"&gt;Theming in Jetpack Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Apply custom themes and styles to your Compose app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 14: Animation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/animation" rel="noopener noreferrer"&gt;Animation in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=vwYi5BcfN94" rel="noopener noreferrer"&gt;Animations in Jetpack Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Create basic animations like fade-in, fade-out, and scaling.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Week 3: Advanced Topics and First Project
&lt;/h2&gt;

&lt;p&gt;Day 15-16: Advanced State Management&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/side-effects" rel="noopener noreferrer"&gt;Advanced State and Side-Effects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=pmfwueLt3Kw" rel="noopener noreferrer"&gt;Side-Effects in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Implement side-effects handling in your app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 17-18: Lists and Grids&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/lists" rel="noopener noreferrer"&gt;Lazy Lists and Grids&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=ah8mhDW3VAE" rel="noopener noreferrer"&gt;LazyColumn and LazyRow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Create a list and grid view with lazy components.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 19-20: Custom Composables&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/custom" rel="noopener noreferrer"&gt;Creating Custom Composables&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=2fNfH5_vIzs" rel="noopener noreferrer"&gt;Custom Composables&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Build a custom composable and integrate it into your app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 21: Accessibility&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/accessibility" rel="noopener noreferrer"&gt;Accessibility in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=ae7-A1tNgfU" rel="noopener noreferrer"&gt;Making Apps Accessible&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Ensure your app is accessible by adding appropriate accessibility tags.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Week 4: Projects and Deployment
&lt;/h2&gt;

&lt;p&gt;Day 22-23: First Project - ToDo List App&lt;/p&gt;

&lt;p&gt;Project: Build a ToDo list app with basic CRUD operations.&lt;br&gt;
Focus: Use state management, navigation, and theming.&lt;/p&gt;

&lt;p&gt;Day 24-25: Second Project - Weather App&lt;/p&gt;

&lt;p&gt;Project: Create a weather app that fetches data from an API.&lt;br&gt;
Focus: Implement lazy lists, custom composables, and side-effects.&lt;/p&gt;

&lt;p&gt;Day 26-27: Third Project - E-commerce App&lt;/p&gt;

&lt;p&gt;Project: Develop a basic e-commerce app with product listing and cart functionality.&lt;br&gt;
Focus: Use advanced navigation, animations, and accessibility features.&lt;/p&gt;

&lt;p&gt;Day 28: Testing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/testing" rel="noopener noreferrer"&gt;Testing in Compose&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=gxxlVJlb2DM" rel="noopener noreferrer"&gt;Testing Jetpack Compose UIs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practice: Write unit and UI tests for your Compose components&lt;br&gt;
.&lt;br&gt;
Day 29: Performance Optimization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reading: &lt;a href="https://developer.android.com/jetpack/compose/performance" rel="noopener noreferrer"&gt;Performance in Compose&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Video: &lt;a href="https://www.youtube.com/watch?v=cROZsw7Aqyk" rel="noopener noreferrer"&gt;Optimizing Jetpack Compose&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practice: Profile and optimize your Compose app for better performance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Day 30: Deployment and Publishing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading: &lt;a href="https://developer.android.com/studio/publish" rel="noopener noreferrer"&gt;Deploying Your Compose App&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.youtube.com/watch?v=OT6MHto_6mw" rel="noopener noreferrer"&gt;Publishing Your App&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Practice: Prepare and publish your app to the Play Store.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This guide ensures a deep understanding of Jetpack Compose, combining theoretical knowledge with practical experience through real-world projects. &lt;/p&gt;

&lt;p&gt;Happy coding!!!&lt;/p&gt;

</description>
      <category>android</category>
      <category>androiddev</category>
      <category>kotlin</category>
      <category>compose</category>
    </item>
  </channel>
</rss>
