<?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: Miro Ma</title>
    <description>The latest articles on DEV Community by Miro Ma (@ma_dev).</description>
    <link>https://dev.to/ma_dev</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%2F3975681%2F4c8d5f89-3154-4039-a26b-685bd5081e80.jpg</url>
      <title>DEV Community: Miro Ma</title>
      <link>https://dev.to/ma_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ma_dev"/>
    <language>en</language>
    <item>
      <title>Is Local Heavy Compilation Dead? The Rise of 2026 AI-Agentic Mobile IDEs 🚀</title>
      <dc:creator>Miro Ma</dc:creator>
      <pubDate>Fri, 12 Jun 2026 07:38:33 +0000</pubDate>
      <link>https://dev.to/ma_dev/is-local-heavy-compilation-dead-the-rise-of-2026-ai-agentic-mobile-ides-16pp</link>
      <guid>https://dev.to/ma_dev/is-local-heavy-compilation-dead-the-rise-of-2026-ai-agentic-mobile-ides-16pp</guid>
      <description>&lt;p&gt;Let’s be honest: until recently, the phrase &lt;strong&gt;"Mobile IDE"&lt;/strong&gt; felt like a bad joke. &lt;/p&gt;

&lt;p&gt;Who in their right mind would want to squint at a tiny tablet screen, fighting with heavy Gradle or Xcode compilations that turn an iPad into a literal frying pan? We all agreed: &lt;em&gt;Real developers need heavy local hardware.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But it’s &lt;strong&gt;2026&lt;/strong&gt;, and the paradigm has completely broken. &lt;/p&gt;

&lt;p&gt;Mobile IDEs are no longer just "code editors on a tablet"—they have evolved into the ultimate &lt;strong&gt;"Thin-Client Windows" powered by autonomous AI Agents and Full-Stack Cloud Containers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1rzx2jb1wouiztriaq43.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1rzx2jb1wouiztriaq43.png" alt="Mobile IDE NimoteCode" width="799" height="452"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ The 2026 Shift: Three Core Pillars
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. From "Copilot Chat" to "Agentic Engineering"
&lt;/h3&gt;

&lt;p&gt;In 2024, we had chat windows for code autocompletion. In 2026, we have &lt;strong&gt;Autonomous AI Agents&lt;/strong&gt;. &lt;br&gt;
Modern Mobile IDEs feature background agents that scan your entire repository, read error logs, write tests, and deploy fixes inside cloud sandboxes without constant developer typing.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Multi-Modal "Visual Edits" (Goodbye, heavy typing!)
&lt;/h3&gt;

&lt;p&gt;Typing code on a touchscreen sucks. The solution? &lt;strong&gt;Direct UI Manipulation.&lt;/strong&gt;&lt;br&gt;
You can now directly tap or drag a UI component on your tablet preview. The AI Agent instantly maps that visual component to the underlying declarative code (SwiftUI, Jetpack Compose, or Flutter) and modifies it in real time. &lt;/p&gt;

&lt;h3&gt;
  
  
  3. 100% Cloud-Native + WASM Previews
&lt;/h3&gt;

&lt;p&gt;Local hardware constraints are neutralized. Heavy compilation, bundling, and dependency matching are completely offloaded to ultra-fast, ephemeral cloud containers. Your mobile device is just a low-latency rendering engine running WebAssembly.&lt;/p&gt;




&lt;h2&gt;
  
  
  📊 Paradigm Shift: 2024 vs 2026 Mobile Development
&lt;/h2&gt;

&lt;p&gt;To understand how drastically this changes our daily workflow, here is a quick breakdown:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;2024 (Traditional Dev)&lt;/th&gt;
&lt;th&gt;2026 (Agentic &amp;amp; Cloud-Native)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AI's Primary Role&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simple autocomplete &amp;amp; chat&lt;/td&gt;
&lt;td&gt;Autonomous engineering &amp;amp; self-healing bugs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Core Interaction&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Heavy keyboard typing / Ext. Monitor&lt;/td&gt;
&lt;td&gt;Natural language + Multimodal Visual Edits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Compilation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Battery-draining local hardware&lt;/td&gt;
&lt;td&gt;100% offloaded to scalable Cloud Containers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Barrier to Entry&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pro-code mastery required&lt;/td&gt;
&lt;td&gt;Hybrid (Low-Code/AI-Generated architecture)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔥 Is Local Compilation Dead?
&lt;/h2&gt;

&lt;p&gt;We are moving away from the "Bring Your Own Heavy Laptop" era. When the cloud handles 99% of the heavy lifting and AI handles the syntax, a high-bandwidth network and a portable screen are all you need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do you think?&lt;/strong&gt; Are you still refusing to code without your multi-monitor desktop setup, or have you already used an iPad/folding screen to fix a critical production bug on the go? &lt;/p&gt;

&lt;p&gt;Let's argue in the comments below! 👇&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>mobile</category>
      <category>development</category>
    </item>
    <item>
      <title>Maybe the real limitation isn’t AI coding… 🤖
but the fact that developers still expect 100% deterministic control over every line of code.
That mindset might be the real bottleneck
Or are we just not ready for non-deterministic workflows yet? 👀
Thoughts？</title>
      <dc:creator>Miro Ma</dc:creator>
      <pubDate>Fri, 12 Jun 2026 03:44:18 +0000</pubDate>
      <link>https://dev.to/ma_dev/maybe-the-real-limitation-isnt-ai-coding-but-the-fact-that-developers-still-expect-100-3bi2</link>
      <guid>https://dev.to/ma_dev/maybe-the-real-limitation-isnt-ai-coding-but-the-fact-that-developers-still-expect-100-3bi2</guid>
      <description></description>
    </item>
    <item>
      <title>SSH + mobile coding is still broken — so I built my own IDE</title>
      <dc:creator>Miro Ma</dc:creator>
      <pubDate>Thu, 11 Jun 2026 15:17:34 +0000</pubDate>
      <link>https://dev.to/ma_dev/mobile-coding-tools-dont-work-for-real-development-so-i-built-my-own-ide-3goo</link>
      <guid>https://dev.to/ma_dev/mobile-coding-tools-dont-work-for-real-development-so-i-built-my-own-ide-3goo</guid>
      <description>&lt;p&gt;&lt;strong&gt;I’ve tried a lot of mobile coding tools—SSH apps, code editors, cloud IDEs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most of them feel useful… but incomplete.&lt;/p&gt;

&lt;p&gt;They either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;only edit code&lt;/li&gt;
&lt;li&gt;or only provide a terminal&lt;/li&gt;
&lt;li&gt;or feel like a desktop tool squeezed into a phone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But real dev work isn’t just “writing code”.&lt;/p&gt;

&lt;p&gt;It’s:&lt;/p&gt;

&lt;p&gt;SSH + files + terminal + git — all together.&lt;/p&gt;




&lt;p&gt;So I started building a mobile-first IDE called &lt;strong&gt;NimoteCode&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A workspace should include everything — not separate apps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Local &amp;amp; SSH workspaces&lt;/li&gt;
&lt;li&gt;Integrated terminal&lt;/li&gt;
&lt;li&gt;Code + project structure in one place&lt;/li&gt;
&lt;li&gt;Mobile-first UX (not desktop copy)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko1cyiuqp56lsitwhonb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fko1cyiuqp56lsitwhonb.png" alt="NimoteCode P1" width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fguioczic5h99zwp88lzj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fguioczic5h99zwp88lzj.png" alt="NimoteCode P2" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Forvh43fttewk8hu5vc4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Forvh43fttewk8hu5vc4i.png" alt="NimoteCode P3" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Still early, but it’s currently in testing phase on Google Play.&lt;/p&gt;

&lt;p&gt;If you want to try it or give feedback, you can join the testing program here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Try NimoteCode (Closed Beta)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NimoteCode is currently in closed testing on Google Play.&lt;/p&gt;

&lt;p&gt;If you’re interested in mobile development workflows (SSH, coding, terminal, and workspace-based development), you’re welcome to try it and share feedback.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Join the tester group&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://groups.google.com/g/nimotecode-testers" rel="noopener noreferrer"&gt;https://groups.google.com/g/nimotecode-testers&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Wait for access to activate&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It usually takes a few minutes after joining.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install via Google Play&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.nimote.nimotecode" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.nimote.nimotecode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⚠️ Notes&lt;br&gt;
Please use the same Google account for both Google Groups and Google Play&lt;br&gt;
If the app doesn’t show up immediately, wait a bit and refresh&lt;br&gt;
This is still early — expect rough edges&lt;/p&gt;

&lt;p&gt;Feedback from real usage (especially SSH + mobile workflows) would be very valuable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 Do you think mobile development is actually usable today, or still fundamentally fragmented?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>productivity</category>
      <category>devops</category>
      <category>flutter</category>
    </item>
    <item>
      <title>Why Existing Flutter Code Editors Broke Down When I Built a Mobile IDE</title>
      <dc:creator>Miro Ma</dc:creator>
      <pubDate>Thu, 11 Jun 2026 07:41:13 +0000</pubDate>
      <link>https://dev.to/ma_dev/why-existing-flutter-code-editors-broke-down-when-i-built-a-mobile-ide-2593</link>
      <guid>https://dev.to/ma_dev/why-existing-flutter-code-editors-broke-down-when-i-built-a-mobile-ide-2593</guid>
      <description>&lt;p&gt;When I started building NimoteCode, I didn’t plan to write a code editor.&lt;/p&gt;

&lt;p&gt;My assumption was simple:&lt;/p&gt;

&lt;p&gt;Flutter already has code editor packages. I would just pick one and move on.&lt;/p&gt;

&lt;p&gt;There are several solid options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;code_text_field&lt;/li&gt;
&lt;li&gt;flutter_code_editor&lt;/li&gt;
&lt;li&gt;re_editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They all solve a similar problem well:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How to display and edit code inside Flutter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I did what most people would do:&lt;/p&gt;

&lt;p&gt;I tried to integrate one of them and focus on the “real product”:&lt;br&gt;
SSH, terminal, Git, AI workflows.&lt;/p&gt;

&lt;p&gt;That assumption broke quickly.&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem wasn’t “editing code”
&lt;/h2&gt;

&lt;p&gt;It was this:&lt;/p&gt;

&lt;p&gt;I wasn’t building a code editor.&lt;/p&gt;

&lt;p&gt;I was building a mobile IDE.&lt;/p&gt;

&lt;p&gt;And those are fundamentally different systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where existing editors start to break
&lt;/h2&gt;

&lt;p&gt;On paper, existing Flutter editors look complete:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;syntax highlighting&lt;/li&gt;
&lt;li&gt;folding&lt;/li&gt;
&lt;li&gt;autocomplete&lt;/li&gt;
&lt;li&gt;basic selection handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But once I connected real IDE features, cracks started to appear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SSH remote files instead of local strings&lt;/li&gt;
&lt;li&gt;LSP needing full document lifecycle sync&lt;/li&gt;
&lt;li&gt;Git diff depending on editor state&lt;/li&gt;
&lt;li&gt;multi-panel UI sharing the same document&lt;/li&gt;
&lt;li&gt;large files streamed instead of loaded&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At that point, the editor is no longer a component.&lt;/p&gt;

&lt;p&gt;It becomes shared infrastructure.&lt;/p&gt;




&lt;h2&gt;
  
  
  The key architectural difference
&lt;/h2&gt;

&lt;p&gt;The real shift is this:&lt;/p&gt;

&lt;p&gt;Most editor packages are built around &lt;strong&gt;text rendering&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A mobile IDE needs an &lt;strong&gt;editor core&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That difference changes everything.&lt;/p&gt;

&lt;p&gt;Instead of “a widget that edits text”, you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a document model&lt;/li&gt;
&lt;li&gt;a layout system&lt;/li&gt;
&lt;li&gt;a state engine&lt;/li&gt;
&lt;li&gt;a sync layer for external systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once multiple systems depend on the editor state, it can’t be passive anymore.&lt;/p&gt;

&lt;p&gt;It must become the source of truth.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I eventually had to build my own editor
&lt;/h2&gt;

&lt;p&gt;The decision wasn’t about performance or missing features.&lt;/p&gt;

&lt;p&gt;It was about control over the model.&lt;/p&gt;

&lt;p&gt;Existing editors assume:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;local text&lt;/li&gt;
&lt;li&gt;single-file context&lt;/li&gt;
&lt;li&gt;UI-driven updates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My requirements were different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;local + SSH remote files unified&lt;/li&gt;
&lt;li&gt;LSP lifecycle tightly bound to editor state&lt;/li&gt;
&lt;li&gt;Git diff tracking per tab lifecycle&lt;/li&gt;
&lt;li&gt;large files streamed in chunks&lt;/li&gt;
&lt;li&gt;mobile-first selection and interaction model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These constraints conflict with widget-level architecture.&lt;/p&gt;

&lt;p&gt;So instead of extending an editor, I rebuilt the core abstraction.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I built instead
&lt;/h2&gt;

&lt;p&gt;The new editor architecture is built around a shared core:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EditorState as single source of truth&lt;/li&gt;
&lt;li&gt;FileLoader abstraction (local + remote)&lt;/li&gt;
&lt;li&gt;Streaming file ingestion for large files&lt;/li&gt;
&lt;li&gt;Tree-sitter + LSP hybrid analysis pipeline&lt;/li&gt;
&lt;li&gt;diff + CodeLens + symbols bound to document model&lt;/li&gt;
&lt;li&gt;mobile-first selection and coordinate system&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Everything depends on the same document model.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08xuqv5a4rmczm3ilfs2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08xuqv5a4rmczm3ilfs2.png" alt="NimoteCode Code Editor" width="800" height="1781"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not the UI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfgqu1brrlf7gir2ml7s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfgqu1brrlf7gir2ml7s.png" alt="NimoteCode tablet Code editor" width="800" height="497"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The real advantage of self-building
&lt;/h2&gt;

&lt;p&gt;Rewriting the editor wasn’t about “adding features”.&lt;/p&gt;

&lt;p&gt;It unlocked structural advantages:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Remote-first is native, not patched
&lt;/h3&gt;

&lt;p&gt;SSH files are not adapters — they are first-class documents.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. LSP becomes part of lifecycle
&lt;/h3&gt;

&lt;p&gt;Not a separate service, but synchronized with editor state.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Git diff becomes state-aware
&lt;/h3&gt;

&lt;p&gt;Not snapshot-based, but tab-aware.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Mobile editing is designed, not adapted
&lt;/h3&gt;

&lt;p&gt;Selection, handles, scrolling all operate on a custom coordinate system.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. All IDE features share one model
&lt;/h3&gt;

&lt;p&gt;No duplicated state between panels.&lt;/p&gt;

&lt;p&gt;This is where complexity actually decreases long-term.&lt;/p&gt;




&lt;h2&gt;
  
  
  The conclusion I didn’t expect
&lt;/h2&gt;

&lt;p&gt;I originally thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I will save time by using an existing editor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But the real outcome was the opposite:&lt;/p&gt;

&lt;p&gt;Using an existing editor would have shifted complexity elsewhere.&lt;/p&gt;

&lt;p&gt;Because the real problem wasn’t syntax highlighting.&lt;/p&gt;

&lt;p&gt;It was system design.&lt;/p&gt;

&lt;p&gt;And once you treat the editor as infrastructure instead of a widget, rebuilding it becomes the simplest consistent choice.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final thought
&lt;/h1&gt;

&lt;p&gt;I didn’t replace a code editor.&lt;/p&gt;

&lt;p&gt;I replaced the assumption that a code editor is enough for a mobile IDE.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>rust</category>
      <category>ios</category>
      <category>android</category>
    </item>
    <item>
      <title>Why I Decided to Build a Mobile IDE Instead of Another AI App</title>
      <dc:creator>Miro Ma</dc:creator>
      <pubDate>Tue, 09 Jun 2026 10:38:17 +0000</pubDate>
      <link>https://dev.to/ma_dev/why-i-decided-to-build-a-mobile-ide-instead-of-another-ai-app-1iap</link>
      <guid>https://dev.to/ma_dev/why-i-decided-to-build-a-mobile-ide-instead-of-another-ai-app-1iap</guid>
      <description>&lt;p&gt;I used to work at a company, focusing on low-level system development. The work was technically solid but often felt fragmented. Over time, I realized I was mostly working within narrow boundaries of large systems, which made it harder to stay connected to the bigger picture of what I was building.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8niv1boc2dmi6yo3oct8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8niv1boc2dmi6yo3oct8.png" alt="coder" width="719" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When AI started to rapidly evolve, like many developers, I found myself both excited and uncertain. The capability of AI in coding tasks grew faster than expected, and it naturally raised questions about the future of software development roles.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuud7xdp5lnjbkmcewx9q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuud7xdp5lnjbkmcewx9q.png" alt="chatgpt_write code" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But over time, my perspective shifted. Instead of thinking about AI as a replacement force, I began to see it as a shift in how software is created and interacted with.&lt;/p&gt;

&lt;p&gt;That shift pulled me toward a different question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What does a native AI application actually look like on a mobile device?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At first, the market seemed full of AI apps. New products appeared constantly—chatbots, writing tools, coding assistants, automation tools. But the more I explored, the more I noticed a pattern.&lt;/p&gt;

&lt;p&gt;Most AI applications were still built around a very narrow interaction model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A prompt box&lt;/li&gt;
&lt;li&gt;A response output&lt;/li&gt;
&lt;li&gt;Some form of lightweight workflow wrapping&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0micxszjq2dnym3jsb1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0micxszjq2dnym3jsb1.png" alt="PC IDE" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even when the underlying models were powerful, the product surface remained relatively simple and repetitive.&lt;/p&gt;

&lt;p&gt;This led me to a realization:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The AI application layer on mobile is still in its early form—mostly conversational, not system-driven.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That distinction became important.&lt;/p&gt;

&lt;p&gt;Because AI is not just about generating responses. It is increasingly about orchestrating actions, systems, and workflows.&lt;/p&gt;

&lt;p&gt;And that is where I started to rethink the role of a “mobile IDE”.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rethinking What an AI Application Can Be
&lt;/h2&gt;

&lt;p&gt;Most AI apps today focus on interaction—asking questions and receiving answers.&lt;/p&gt;

&lt;p&gt;But software development, even at a simplified level, is not just conversation. It is a structured process involving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding context&lt;/li&gt;
&lt;li&gt;Generating or modifying logic&lt;/li&gt;
&lt;li&gt;Executing actions&lt;/li&gt;
&lt;li&gt;Observing results&lt;/li&gt;
&lt;li&gt;Iterating continuously&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In most AI tools, these steps are disconnected. The user is still responsible for bridging the gap between intention and execution.&lt;/p&gt;

&lt;p&gt;This creates a subtle limitation:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI can generate output, but it does not own the workflow.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I started to ask a different question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if an AI application on mobile could own the entire loop, not just the response?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not just answering prompts, but managing a continuous system of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;intent → generation → execution → feedback → iteration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where the idea of a mobile IDE began to form, but not as a traditional “development tool”.&lt;/p&gt;

&lt;p&gt;Instead, as something closer to a &lt;strong&gt;workflow-native AI application&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  From Tools to AI-Native Workflows
&lt;/h2&gt;

&lt;p&gt;The more I explored AI systems, the clearer it became that the real shift is not about individual features like code generation or chat interfaces.&lt;/p&gt;

&lt;p&gt;The real shift is structural:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI is turning software from static tools into dynamic workflows.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this context, the concept of an IDE changes meaning.&lt;/p&gt;

&lt;p&gt;It is no longer just an environment for editing code.&lt;/p&gt;

&lt;p&gt;It becomes a system that can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;understand user intent&lt;/li&gt;
&lt;li&gt;generate structured outputs&lt;/li&gt;
&lt;li&gt;execute actions in real environments&lt;/li&gt;
&lt;li&gt;observe results&lt;/li&gt;
&lt;li&gt;and continue iterating&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The IDE becomes a workflow engine powered by AI.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is especially relevant in a mobile context, where interaction is naturally intent-driven rather than process-heavy.&lt;/p&gt;

&lt;p&gt;Users don’t want to manage systems manually on a small screen. They want to express intent and see results.&lt;/p&gt;

&lt;p&gt;So the question is no longer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How do we shrink a development environment into mobile?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But instead:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What does an AI-native workflow application look like on mobile?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Shift in Interaction Model
&lt;/h2&gt;

&lt;p&gt;Traditional software interactions are based on explicit control:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;open tools&lt;/li&gt;
&lt;li&gt;configure environments&lt;/li&gt;
&lt;li&gt;execute steps manually&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But AI changes the interaction model fundamentally.&lt;/p&gt;

&lt;p&gt;It introduces a new pattern:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;intent-driven execution&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Where the user provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;goals&lt;/li&gt;
&lt;li&gt;constraints&lt;/li&gt;
&lt;li&gt;context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the system handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;decomposition&lt;/li&gt;
&lt;li&gt;execution&lt;/li&gt;
&lt;li&gt;orchestration&lt;/li&gt;
&lt;li&gt;iteration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This shift makes mobile devices particularly interesting—not because they are “limited versions of desktops”, but because they naturally align with intent-driven interaction.&lt;/p&gt;

&lt;p&gt;Mobile is not a constraint here.&lt;/p&gt;

&lt;p&gt;It is actually a natural interface for AI-native workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;short inputs&lt;/li&gt;
&lt;li&gt;fast iterations&lt;/li&gt;
&lt;li&gt;contextual usage&lt;/li&gt;
&lt;li&gt;continuous interaction loops&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What a Mobile IDE Actually Becomes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpyljnm5e6oueear6qfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpyljnm5e6oueear6qfr.png" alt="NimoteCode" width="799" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this framing, a mobile IDE is not a tool for writing code.&lt;/p&gt;

&lt;p&gt;It becomes a system that connects three layers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Intent Layer&lt;/strong&gt;&lt;br&gt;
Users express what they want to achieve in natural language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. AI Orchestration Layer&lt;/strong&gt;&lt;br&gt;
The system interprets intent, generates solutions, and plans execution steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Execution Layer&lt;/strong&gt;&lt;br&gt;
Remote environments, APIs, services, and workflows are triggered and managed.&lt;/p&gt;

&lt;p&gt;So the product is no longer defined by “editing capability”.&lt;/p&gt;

&lt;p&gt;It is defined by:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;the ability to turn intent into executed systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is the key difference.&lt;/p&gt;

&lt;p&gt;A mobile IDE in this sense is not a scaled-down development environment.&lt;/p&gt;

&lt;p&gt;It is an &lt;strong&gt;AI-native workflow application that happens to include development as one of its capabilities&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters Now
&lt;/h2&gt;

&lt;p&gt;The reason this direction feels important is because AI is collapsing the gap between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;thinking&lt;/li&gt;
&lt;li&gt;describing&lt;/li&gt;
&lt;li&gt;and executing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As that gap shrinks, the value of software shifts upward:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;from tools that require manual operation&lt;br&gt;
to systems that respond directly to intent&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In that world, the most important product question becomes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How quickly can a user turn an idea into a working system?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not how many features a tool has.&lt;/p&gt;

&lt;p&gt;Not how complete an environment is.&lt;/p&gt;

&lt;p&gt;But how directly intent can become execution.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Looking back, the decision to build a mobile IDE was not really about development tools.&lt;/p&gt;

&lt;p&gt;It was about recognizing a shift in what AI applications are becoming.&lt;/p&gt;

&lt;p&gt;From my perspective, the next generation of AI applications will not be chat interfaces or standalone tools.&lt;/p&gt;

&lt;p&gt;They will be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;workflow-driven systems that translate intent into action.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A mobile IDE, in this sense, is just one early form of that direction:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;an AI-native application where interaction, generation, and execution are part of a single continuous loop.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>futurechallenge</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
