<?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: Vrushali</title>
    <description>The latest articles on DEV Community by Vrushali (@vrushali_dev_15).</description>
    <link>https://dev.to/vrushali_dev_15</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%2F3296637%2F367e5386-7941-4c96-ad7b-d5bf2de23c7d.png</url>
      <title>DEV Community: Vrushali</title>
      <link>https://dev.to/vrushali_dev_15</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vrushali_dev_15"/>
    <language>en</language>
    <item>
      <title>map() in Kotlin vs Dart (Beginner Friendly)</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Tue, 28 Apr 2026 05:22:29 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/map-in-kotlin-vs-dart-beginner-friendly-5fc9</link>
      <guid>https://dev.to/vrushali_dev_15/map-in-kotlin-vs-dart-beginner-friendly-5fc9</guid>
      <description>&lt;p&gt;Ever wondered what &lt;code&gt;map()&lt;/code&gt; actually does? 🤔&lt;br&gt;&lt;br&gt;
Let’s break it down in the simplest way possible 👇&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What is map()?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;map()&lt;/code&gt; is used to &lt;strong&gt;transform a list into another list&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;👉 It takes each item&lt;br&gt;&lt;br&gt;
👉 Applies some logic&lt;br&gt;&lt;br&gt;
👉 Returns a new list&lt;/p&gt;

&lt;h2&gt;
  
  
  🟣 Kotlin Example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="kd"&gt;val&lt;/span&gt; &lt;span class="py"&gt;numbers&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;listOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="kd"&gt;val&lt;/span&gt; &lt;span class="py"&gt;doubled&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="p"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;doubled&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// [2, 4, 6]&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🟣 Dart Example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="n"&gt;doubled&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toList&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;doubled&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// [2, 4, 6]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>beginners</category>
      <category>kotlin</category>
      <category>dart</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>From AI Hype to Agentic Reality: What Google Cloud Next ’26 Means for Android Developers</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Thu, 23 Apr 2026 14:57:30 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/from-ai-hype-to-agentic-reality-what-google-cloud-next-26-means-for-android-developers-36bd</link>
      <guid>https://dev.to/vrushali_dev_15/from-ai-hype-to-agentic-reality-what-google-cloud-next-26-means-for-android-developers-36bd</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-cloud-next-2026-04-22"&gt;Google Cloud NEXT Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Isn’t a Tool Anymore — It’s Redefining How We Build Software
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;What Google Cloud Next ’26 revealed about the shift from coding features to designing AI-powered systems&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 Hook
&lt;/h3&gt;

&lt;p&gt;We’ve all played with AI tools.&lt;br&gt;&lt;br&gt;
We’ve generated code, built demos, maybe even shipped a feature or two.&lt;/p&gt;

&lt;p&gt;But at &lt;strong&gt;Google Cloud Next ’26&lt;/strong&gt;, something felt different.&lt;/p&gt;

&lt;p&gt;This wasn’t about &lt;em&gt;using AI&lt;/em&gt;.&lt;br&gt;&lt;br&gt;
This was about &lt;strong&gt;working alongside AI agents at scale&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And honestly? That changes everything.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 The Big Shift: From Experimentation → Execution
&lt;/h3&gt;

&lt;p&gt;In the opening keynote, &lt;strong&gt;Thomas Kurian&lt;/strong&gt; introduced the idea of the &lt;strong&gt;Agentic Enterprise&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The message was clear:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI is no longer a side feature. It’s becoming the operating layer of modern software systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of isolated AI features, Google is pushing toward a world where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI agents collaborate across systems
&lt;/li&gt;
&lt;li&gt;Data continuously feeds context
&lt;/li&gt;
&lt;li&gt;Infrastructure scales intelligence—not just compute
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a shift from “cool demos” → &lt;strong&gt;real business transformation&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔑 What Actually Stood Out (And Why It Matters)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🧠 1. Gemini Enterprise Agent Platform = AI “Mission Control”
&lt;/h4&gt;

&lt;p&gt;Google is positioning Gemini as the control layer for managing thousands of agents.&lt;/p&gt;

&lt;p&gt;Not just chatbots.&lt;br&gt;&lt;br&gt;
Not just assistants.&lt;/p&gt;

&lt;p&gt;We’re talking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agents that monitor systems
&lt;/li&gt;
&lt;li&gt;Agents that make decisions
&lt;/li&gt;
&lt;li&gt;Agents that coordinate with other agents
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;strong&gt;My take:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This feels like moving from writing functions → orchestrating &lt;em&gt;autonomous systems&lt;/em&gt;.&lt;br&gt;&lt;br&gt;
As developers, our role shifts from &lt;em&gt;builder&lt;/em&gt; to &lt;em&gt;system designer&lt;/em&gt;.&lt;/p&gt;




&lt;h4&gt;
  
  
  📊 2. Agentic Data Cloud = Context Is Everything
&lt;/h4&gt;

&lt;p&gt;The introduction of the &lt;strong&gt;Knowledge Catalog&lt;/strong&gt; is underrated.&lt;/p&gt;

&lt;p&gt;It automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understands structured + unstructured data
&lt;/li&gt;
&lt;li&gt;Tags and connects information
&lt;/li&gt;
&lt;li&gt;Feeds “business truth” into AI agents
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;strong&gt;My take:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
We often blame AI for bad outputs—but the real issue is bad context.&lt;br&gt;&lt;br&gt;
This is Google saying: &lt;em&gt;fix the data layer, and AI becomes reliable.&lt;/em&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  ⚡ 3. AI Hypercomputer = Infrastructure Finally Catches Up
&lt;/h4&gt;

&lt;p&gt;Massive clusters. Insane bandwidth. Faster training cycles.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;My take:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This removes one of the biggest bottlenecks—&lt;strong&gt;time&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
Faster iteration = faster innovation.&lt;/p&gt;




&lt;h4&gt;
  
  
  🔐 4. Built-In Security with Wiz
&lt;/h4&gt;

&lt;p&gt;Security is no longer reactive.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;My take:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If agents are making decisions, security can’t be an afterthought.&lt;br&gt;&lt;br&gt;
It has to be embedded into the system itself.&lt;/p&gt;




&lt;h4&gt;
  
  
  💬 5. Workspace Intelligence = Where Work Actually Happens
&lt;/h4&gt;

&lt;p&gt;Google Chat becoming a central hub.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;My take:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The tool adapts to your workflow — not the other way around.&lt;/p&gt;




&lt;h3&gt;
  
  
  🌍 Real-World Signals (This Is Already Happening)
&lt;/h3&gt;

&lt;p&gt;Companies like Citadel Securities, YouTube TV, and Unilever are already using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multilingual AI agents
&lt;/li&gt;
&lt;li&gt;AI-driven decision systems
&lt;/li&gt;
&lt;li&gt;Automated workflows
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This isn’t future talk. This is production reality.&lt;/p&gt;




&lt;h3&gt;
  
  
  📱 My Personal Take (As an Android Developer)
&lt;/h3&gt;

&lt;p&gt;As someone building Android apps—especially in the healthcare domain—this keynote felt personal.&lt;/p&gt;

&lt;p&gt;Most of my work involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handling real-world data (patients, reports, stock systems)
&lt;/li&gt;
&lt;li&gt;Building scalable apps for field use
&lt;/li&gt;
&lt;li&gt;Managing repetitive workflows
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly, a lot of this work is repetitive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fetch → process → display
&lt;/li&gt;
&lt;li&gt;Validate → sync → notify
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After this keynote, I started thinking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if these workflows didn’t need to be manually coded end-to-end?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h4&gt;
  
  
  🏥 In Healthcare
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;AI agent monitors medicine stock and auto-triggers alerts
&lt;/li&gt;
&lt;li&gt;Voice assistant helps healthcare workers enter data in local languages
&lt;/li&gt;
&lt;li&gt;Patient insights generated automatically
&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  ✈️ In Travel Apps
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;AI agent plans trips dynamically (budget, preferences, weather)
&lt;/li&gt;
&lt;li&gt;Real-time itinerary updates (delays, traffic)
&lt;/li&gt;
&lt;li&gt;Smart recommendations based on live context
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;👉 This is where the idea clicked for me.&lt;/p&gt;

&lt;p&gt;It’s not about replacing Android developers.&lt;br&gt;&lt;br&gt;
It’s about &lt;strong&gt;removing repetitive layers so we can focus on real problems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of writing every API and UI flow, we start designing systems where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI handles decisions
&lt;/li&gt;
&lt;li&gt;Data provides context
&lt;/li&gt;
&lt;li&gt;Apps become intelligent interfaces
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🛠️ From Idea to Reality: What I’ve Already Built
&lt;/h3&gt;

&lt;p&gt;While watching the keynote, I realized something interesting:&lt;/p&gt;

&lt;p&gt;I’m not starting from zero — I’ve already been building parts of this.&lt;/p&gt;

&lt;p&gt;In my work, I’ve implemented:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice-based interactions inside apps
&lt;/li&gt;
&lt;li&gt;Real-world workflows in healthcare systems
&lt;/li&gt;
&lt;li&gt;And an education platform called &lt;em&gt;IlluminiLearn&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In IlluminiLearn, I experimented with something simple but powerful:&lt;/p&gt;

&lt;p&gt;👉 Generating stories for kids based on topics like &lt;em&gt;photosynthesis&lt;/em&gt; and the &lt;em&gt;water cycle&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;The idea was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take complex concepts
&lt;/li&gt;
&lt;li&gt;Turn them into engaging, easy-to-understand stories
&lt;/li&gt;
&lt;li&gt;Make learning more interactive for children
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It worked—but it was still feature-driven.&lt;/p&gt;

&lt;p&gt;Now, with this “agentic” approach, I see how this could evolve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of generating one-time stories → AI agents could adapt stories based on a child’s understanding
&lt;/li&gt;
&lt;li&gt;Instead of static learning → systems could personalize content in real-time
&lt;/li&gt;
&lt;li&gt;Instead of just explaining → AI could interact, ask questions, and guide learning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To explore these ideas further, I experimented with this during a hackathon using Gemini-based agents.&lt;/p&gt;

&lt;p&gt;Here’s a quick demo of &lt;em&gt;IlluminiLearn&lt;/em&gt; in action:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/9OmHz5pfN8g" rel="noopener noreferrer"&gt;https://youtu.be/9OmHz5pfN8g&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This started as a simple experiment—generating stories for topics like photosynthesis and the water cycle.&lt;/p&gt;

&lt;p&gt;But after Google Cloud Next ’26, I can clearly see how this could evolve into a fully agent-driven learning system.&lt;/p&gt;




&lt;p&gt;Similarly in healthcare:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice input already helps field workers
&lt;/li&gt;
&lt;li&gt;But AI agents could analyze and act on that data automatically
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 That’s when it clicked:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What I built were features.&lt;br&gt;&lt;br&gt;
What’s coming next are &lt;strong&gt;intelligent, adaptive systems&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And the gap between those two is where developers like us need to evolve.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 So, What Should We Do Next?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Start experimenting with &lt;strong&gt;agent-based workflows&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Focus on &lt;strong&gt;data quality and context pipelines&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Think in &lt;strong&gt;systems, not screens&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  💥 Final Thought
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;AI is no longer a tool you call.&lt;br&gt;&lt;br&gt;
It’s becoming a system you design around.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;That’s both exciting...&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Are you still experimenting with AI, or already building with agents?&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloudnextchallenge</category>
      <category>android</category>
      <category>programming</category>
    </item>
    <item>
      <title>🔥 Kotlin vs Dart Equality — 30 sec breakdown!</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Fri, 17 Apr 2026 14:20:07 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/kotlin-vs-dart-equality-30-sec-breakdown-3mmo</link>
      <guid>https://dev.to/vrushali_dev_15/kotlin-vs-dart-equality-30-sec-breakdown-3mmo</guid>
      <description>&lt;p&gt;🔥 Kotlin vs Dart Equality — 30 sec breakdown!&lt;/p&gt;

&lt;p&gt;👨‍💻 Kotlin:&lt;br&gt;
&lt;code&gt;==&lt;/code&gt; → checks VALUE&lt;br&gt;
&lt;code&gt;===&lt;/code&gt; → checks MEMORY (same object)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="kd"&gt;val&lt;/span&gt; &lt;span class="py"&gt;a&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Hi"&lt;/span&gt;
&lt;span class="kd"&gt;val&lt;/span&gt; &lt;span class="py"&gt;b&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Hi"&lt;/span&gt;

&lt;span class="nf"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="p"&gt;==&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;span class="nf"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="p"&gt;===&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// 🤔 maybe true (string pool)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🚀 Dart:&lt;br&gt;
Only &lt;code&gt;==&lt;/code&gt; exists → VALUE check&lt;br&gt;
For memory → use &lt;code&gt;identical()&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Hi"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Hi"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;           &lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;identical&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;  &lt;span class="c1"&gt;// true/false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 Quick Trick:&lt;br&gt;
Kotlin → &lt;code&gt;== vs ===&lt;/code&gt;&lt;br&gt;
Dart → &lt;code&gt;== + identical()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;⚡ Save this before your next interview!&lt;/p&gt;

&lt;h1&gt;
  
  
  Kotlin #Dart #Programming #AndroidDev #FlutterDev
&lt;/h1&gt;

</description>
      <category>coding</category>
      <category>kotlin</category>
      <category>dart</category>
      <category>learning</category>
    </item>
    <item>
      <title>Beginner Coding Series</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Mon, 13 Apr 2026 14:39:38 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/beginner-coding-series-4o3j</link>
      <guid>https://dev.to/vrushali_dev_15/beginner-coding-series-4o3j</guid>
      <description>&lt;p&gt;Started Beginner Coding Series Shorts! &lt;/p&gt;

&lt;p&gt;Learn:&lt;br&gt;
👉 Kotlin basics&lt;br&gt;
👉 Dart basics&lt;/p&gt;

&lt;p&gt;Perfect for Android &amp;amp; Flutter devs 💻&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://www.youtube.com/playlist?list=PLe5agqIqPa6GE434yGWjXfyj-Zd1gomtM" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ytimg.com%2Fvi%2Fx7tudeQAf2c%2Fhqdefault.jpg%3Fsqp%3D-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE%3D%26rs%3DAOn4CLAc75MMrQY1b62o4irU-sf8TKvjOw%26days_since_epoch%3D20556" height="270" class="m-0" width="480"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://www.youtube.com/playlist?list=PLe5agqIqPa6GE434yGWjXfyj-Zd1gomtM" rel="noopener noreferrer" class="c-link"&gt;
            Beginner Coding Series - YouTube
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Learn Kotlin and Dart with quick, beginner-friendly coding shorts 🚀 This playlist covers basic concepts like: Hello World, variables, functions, and more. Pe...
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.youtube.com%2Fs%2Fdesktop%2F2f549df7%2Fimg%2Ffavicon.ico" width="16" height="16"&gt;
          youtube.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>android</category>
      <category>kotlin</category>
      <category>dart</category>
      <category>ai</category>
    </item>
    <item>
      <title>Math in Jetpack Compose Animations</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Wed, 03 Dec 2025 06:23:47 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/math-in-jetpack-compose-animations-41k4</link>
      <guid>https://dev.to/vrushali_dev_15/math-in-jetpack-compose-animations-41k4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Math in Jetpack Compose Animations — &lt;a href="https://medium.com/proandroiddev/hidden-math-behind-smooth-jetpack-compose-animations-b279ef6e6c78" rel="noopener noreferrer"&gt;Read the full article →&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Jetpack Compose animations look simple on the surface, but there’s a lot of clever math behind easing, interpolation, and frame-smooth transitions. This article explains it beautifully.&lt;/p&gt;

</description>
      <category>android</category>
      <category>jetpackcompose</category>
      <category>animation</category>
      <category>learning</category>
    </item>
    <item>
      <title>What is a Coroutine? 🤔</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Tue, 28 Oct 2025 14:29:34 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/what-is-a-coroutine-82p</link>
      <guid>https://dev.to/vrushali_dev_15/what-is-a-coroutine-82p</guid>
      <description>&lt;p&gt;💡 What is a Coroutine? 🤔&lt;/p&gt;

&lt;p&gt;A simple question — yet one that traps many Android developers.&lt;/p&gt;

&lt;p&gt;Most of us say:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“It’s used to run background tasks.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;❌ Sounds correct... until the interviewer says,  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“That’s wrong.” 😅&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So what &lt;em&gt;is&lt;/em&gt; a coroutine really?&lt;/p&gt;

&lt;p&gt;Find out here 👇  &lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 &lt;a href="https://medium.com/stackademic/kotlin-coroutines-explained-why-coroutine-background-task-is-wrong-a2ad222e3cb8" rel="noopener noreferrer"&gt;Kotlin Coroutines Explained: Why “Coroutine = Background Task” is Wrong&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>kotlin</category>
      <category>programming</category>
      <category>android</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Why Kotlin Lets You Write `50_000` Instead of `50000` (Beginner-Friendly)</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Fri, 17 Oct 2025 14:13:02 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/why-kotlin-lets-you-write-50000-instead-of-50000-beginner-friendly-5cg0</link>
      <guid>https://dev.to/vrushali_dev_15/why-kotlin-lets-you-write-50000-instead-of-50000-beginner-friendly-5cg0</guid>
      <description>&lt;p&gt;If you’re new to Kotlin, you might have seen something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="kd"&gt;val&lt;/span&gt; &lt;span class="py"&gt;number&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;50_000&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At first, it might look like a typo. But don’t worry — it’s actually a feature! Kotlin allows underscores in numbers to make large numbers easier to read, just like commas in English numbers.&lt;/p&gt;

&lt;p&gt;Think of it this way:&lt;/p&gt;

&lt;p&gt;50000 → “fifty thousand”&lt;/p&gt;

&lt;p&gt;50_000 → “fifty thousand” (much easier to read)&lt;/p&gt;

&lt;p&gt;🔹 Read the full blog on Medium&lt;br&gt;
For a complete beginner-friendly explanation with more examples, check out my Medium article:&lt;br&gt;
&lt;a href="https://medium.com/@vrushalidev/why-kotlin-lets-you-write-50-000-instead-of-50000-861f132cc25e" rel="noopener noreferrer"&gt;https://medium.com/@vrushalidev/why-kotlin-lets-you-write-50-000-instead-of-50000-861f132cc25e&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kotlin</category>
      <category>development</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Gradle Isn’t Slow… It’s Leveling Up Your Patience as an Android Dev</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Fri, 26 Sep 2025 12:54:55 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/gradle-isnt-slow-its-leveling-up-your-patience-as-an-android-dev-4gal</link>
      <guid>https://dev.to/vrushali_dev_15/gradle-isnt-slow-its-leveling-up-your-patience-as-an-android-dev-4gal</guid>
      <description>&lt;p&gt;&lt;strong&gt;While Gradle builds your app, it’s actually building your patience 😌&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hit &lt;strong&gt;Run&lt;/strong&gt; in Android Studio 💻, watch Gradle do its thing ⏳, and instead of getting frustrated, treat it as a mini patience workout 🧘‍♂️. Stretch 🤸‍♀️, breathe 😌, sip coffee ☕, or plan a small refactor 💻. Each progress bar is a reminder: coding isn’t just about the result ⚡—it’s about staying calm 🌿.&lt;/p&gt;

&lt;p&gt;Read the full blog here: &lt;a href="https://medium.com/@vrushalidev/gradle-isnt-slow-its-leveling-up-your-patience-as-an-android-dev-7bafab236dfa" rel="noopener noreferrer"&gt;https://medium.com/@vrushalidev/gradle-isnt-slow-its-leveling-up-your-patience-as-an-android-dev-7bafab236dfa&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;🐘 May your builds be fast and your Zen strong. 💖😌&lt;/p&gt;

</description>
      <category>android</category>
      <category>gradle</category>
      <category>mobile</category>
      <category>programming</category>
    </item>
    <item>
      <title>Android Studio Canary, Beta, RC &amp; Stable Explained (in Simple Words)</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Tue, 23 Sep 2025 06:39:58 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/android-studio-canary-beta-rc-stable-explained-in-simple-words-29o9</link>
      <guid>https://dev.to/vrushali_dev_15/android-studio-canary-beta-rc-stable-explained-in-simple-words-29o9</guid>
      <description>&lt;p&gt;New to Android Studio or confused by its update channels?   Check out my simple guide on Canary, Beta, RC &amp;amp; Stable! &lt;/p&gt;

&lt;p&gt;🚀 Canary for explorers · 🧪 Beta for early adopters · 🛠️ RC for testers · 🏗️ Stable for builders — pick what fits your workflow!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@vrushalidev/android-studio-canary-beta-rc-stable-explained-in-simple-words-58fdeb5b6e0b" rel="noopener noreferrer"&gt;Read here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>androidstudio</category>
      <category>programming</category>
      <category>mobile</category>
    </item>
    <item>
      <title>DataStore in Android: The Future of Local Key-Value Storage</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Thu, 18 Sep 2025 15:14:12 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/datastore-in-android-the-future-of-local-key-value-storage-4g3a</link>
      <guid>https://dev.to/vrushali_dev_15/datastore-in-android-the-future-of-local-key-value-storage-4g3a</guid>
      <description>&lt;p&gt;If you're an Android developer, you might still be using &lt;code&gt;SharedPreferences&lt;/code&gt; for storing small data. But Google now recommends &lt;strong&gt;Jetpack DataStore&lt;/strong&gt; as the modern replacement! 🚀&lt;/p&gt;

&lt;p&gt;I wrote a full guide on Medium with examples and best practices:&lt;br&gt;&lt;br&gt;
&lt;a href="https://medium.com/@vrushalidev/datastore-in-android-the-future-of-local-key-value-storage-76f592d0be09" rel="noopener noreferrer"&gt;Read it here →&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💡 Follow me for more Android tips and tutorials!&lt;/p&gt;

</description>
      <category>android</category>
      <category>kotlin</category>
      <category>datastore</category>
      <category>jetpack</category>
    </item>
    <item>
      <title>Why Every Android Dev Should Master Arrays Before Anything Else</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Thu, 18 Sep 2025 14:59:20 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/why-every-android-dev-should-master-arrays-before-anything-else-3of6</link>
      <guid>https://dev.to/vrushali_dev_15/why-every-android-dev-should-master-arrays-before-anything-else-3of6</guid>
      <description>&lt;p&gt;Dive into the fundamentals of arrays and discover how they form the backbone of Android development. Learn about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Array indexing &amp;amp; memory layout
&lt;/li&gt;
&lt;li&gt;Traversal, insertion, and deletion
&lt;/li&gt;
&lt;li&gt;How arrays power data structures like &lt;code&gt;ArrayList&lt;/code&gt;, &lt;code&gt;Stack&lt;/code&gt;, &lt;code&gt;Queue&lt;/code&gt;, &lt;code&gt;HashMap&lt;/code&gt;, and &lt;code&gt;Heap&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔗 &lt;strong&gt;Read the full article here:&lt;/strong&gt; &lt;a href="https://medium.com/@vrushalidev/why-every-android-dev-should-master-arrays-before-anything-else-41b49f5e0802" rel="noopener noreferrer"&gt;Why Every Android Dev Should Master Arrays Before Anything Else&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💬 Share your thoughts and experiences with arrays in Android development! Let's learn and grow together. 👩‍💻&lt;/p&gt;

</description>
      <category>dsa</category>
      <category>kotlin</category>
      <category>android</category>
      <category>mobile</category>
    </item>
    <item>
      <title>How I Built a Flutter Custom Multi-Select Dialog Package</title>
      <dc:creator>Vrushali</dc:creator>
      <pubDate>Fri, 05 Sep 2025 09:44:17 +0000</pubDate>
      <link>https://dev.to/vrushali_dev_15/how-i-built-a-flutter-custom-multi-select-dialog-package-17co</link>
      <guid>https://dev.to/vrushali_dev_15/how-i-built-a-flutter-custom-multi-select-dialog-package-17co</guid>
      <description>&lt;p&gt;Building custom dialogs in Flutter can be tricky when you want more than the basics.&lt;br&gt;&lt;br&gt;
I recently built a &lt;strong&gt;custom multi-select dialog package&lt;/strong&gt; to make developer life easier — here’s how.  &lt;/p&gt;




&lt;h3&gt;
  
  
  Why a Custom Multi-Select Dialog?
&lt;/h3&gt;

&lt;p&gt;Flutter’s built-in dialogs are great for simple confirmation boxes, but when it comes to &lt;strong&gt;multi-selection with titles, subtitles, and customization&lt;/strong&gt;, you often end up reinventing the wheel.  &lt;/p&gt;

&lt;p&gt;So I decided to create my own reusable package.  &lt;/p&gt;




&lt;h3&gt;
  
  
  Features I Needed
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✅ Multiple item selection
&lt;/li&gt;
&lt;li&gt;✅ Support for title &amp;amp; subtitle
&lt;/li&gt;
&lt;li&gt;✅ Reusable across projects
&lt;/li&gt;
&lt;li&gt;✅ Clean MVVM-friendly structure
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Core Implementation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="n"&gt;showDialog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nl"&gt;context:&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nl"&gt;builder:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;MultiSelectDialog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nl"&gt;title:&lt;/span&gt; &lt;span class="s"&gt;"Choose Items"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nl"&gt;items:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"Option A"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Option B"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Option C"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="nl"&gt;onConfirm:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;selected&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Selected: &lt;/span&gt;&lt;span class="si"&gt;$selected&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;📖 Want the full walkthrough?&lt;br&gt;&lt;br&gt;
&lt;a href="https://medium.com/@vrushalidev/how-i-built-a-flutter-custom-multi-select-dialog-package-1ed09fcd107b" rel="noopener noreferrer"&gt;Read the original blog on Medium →&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>android</category>
      <category>package</category>
    </item>
  </channel>
</rss>
