<?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: daxxx</title>
    <description>The latest articles on DEV Community by daxxx (@roshan_gurung_3eff10e0fb0).</description>
    <link>https://dev.to/roshan_gurung_3eff10e0fb0</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%2F3367623%2Fd2c08972-813c-4635-8d29-9612d08cc29c.png</url>
      <title>DEV Community: daxxx</title>
      <link>https://dev.to/roshan_gurung_3eff10e0fb0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/roshan_gurung_3eff10e0fb0"/>
    <language>en</language>
    <item>
      <title>Day 1: I Finally Understood What Expo Actually Is (And Why It Exists)</title>
      <dc:creator>daxxx</dc:creator>
      <pubDate>Tue, 19 May 2026 15:55:07 +0000</pubDate>
      <link>https://dev.to/roshan_gurung_3eff10e0fb0/day-1-i-finally-understood-what-expo-actually-is-and-why-it-exists-11ei</link>
      <guid>https://dev.to/roshan_gurung_3eff10e0fb0/day-1-i-finally-understood-what-expo-actually-is-and-why-it-exists-11ei</guid>
      <description>&lt;p&gt;What I thought I knew&lt;br&gt;
Honestly, I thought Expo was just "React Native but easier." I had no idea what it was actually doing under the hood. I just ran npx create-expo-app and hoped it worked.&lt;/p&gt;

&lt;p&gt;What I actually learned&lt;br&gt;
Expo is not React Native itself — it's a toolchain that sits on top of React Native. The best way I can explain it:&lt;/p&gt;

&lt;p&gt;React Native = the engine. Expo = the full car with the steering wheel, seats, and GPS already installed.&lt;/p&gt;

&lt;p&gt;When you start a React Native project without Expo, you have to configure Android Studio, Xcode, simulators, native dependencies — before writing a single line of code. Expo handles all of that for you.&lt;br&gt;
The 4 key pieces I learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;app.json — This file is your app's identity. Your app name, icon, splash screen, permissions, and version number all live here. Expo reads it every time you build.&lt;/li&gt;
&lt;li&gt;Metro Bundler — When you run npx expo start, Metro starts up. It takes all your JavaScript files and bundles them into one file the device can run. It also watches for changes and hot-reloads your app instantly — no manual refresh needed.&lt;/li&gt;
&lt;li&gt;Expo Go — This is a free app you install on your phone. Instead of building a full APK every time you want to test, your phone connects to Metro over Wi-Fi and runs your code directly. This makes development incredibly fast.&lt;/li&gt;
&lt;li&gt;Expo SDK — A collection of pre-built modules for camera, location, notifications, file system, and more. You don't have to write any native Android or iOS code to use them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One real example&lt;br&gt;
Here's what a basic app.json looks like and what each field means:&lt;br&gt;
json{&lt;br&gt;
  "expo": {&lt;br&gt;
    "name": "MyFirstApp",        // what users see&lt;br&gt;
    "slug": "my-first-app",      // URL-safe identifier&lt;br&gt;
    "version": "1.0.0",          // your app version&lt;br&gt;
    "icon": "./assets/icon.png", // your app icon&lt;br&gt;
    "splash": {&lt;br&gt;
      "image": "./assets/splash.png"&lt;br&gt;
    },&lt;br&gt;
    "android": {&lt;br&gt;
      "package": "com.yourname.myfirstapp" // unique ID on Play Store&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;One thing I still want to explore&lt;br&gt;
The difference between Managed Workflow and Bare Workflow in Expo. From what I understand, Managed = Expo handles the native code, Bare = you get full control. I want to understand exactly when you'd switch from one to the other. That's tomorrow's rabbit hole.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>expogo</category>
      <category>mobile</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
