<?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: Vlad Manoilo</title>
    <description>The latest articles on DEV Community by Vlad Manoilo (@vladjsdev).</description>
    <link>https://dev.to/vladjsdev</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%2F1137556%2Fe1b2a2a8-5826-4c43-865c-65a8e331cfa2.jpg</url>
      <title>DEV Community: Vlad Manoilo</title>
      <link>https://dev.to/vladjsdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vladjsdev"/>
    <language>en</language>
    <item>
      <title>Why Native Apps Are No Longer King - Or Are They?</title>
      <dc:creator>Vlad Manoilo</dc:creator>
      <pubDate>Thu, 01 May 2025 13:38:15 +0000</pubDate>
      <link>https://dev.to/vladjsdev/why-native-apps-are-no-longer-king-or-are-they-82k</link>
      <guid>https://dev.to/vladjsdev/why-native-apps-are-no-longer-king-or-are-they-82k</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;""Just because something doesn't do what you planned it to do doesn't mean it's useless." — Thomas Edison"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Imagine: you are young, full of energy and ideas.&lt;br&gt;
Or maybe you have a small project, startup, or emerging company.&lt;/p&gt;

&lt;p&gt;What is your main goal at the start?&lt;/p&gt;

&lt;p&gt;It’s clear, right?&lt;br&gt;
Spend less money, hire fewer developers, launch faster, and reach as many users as possible across all platforms.&lt;/p&gt;

&lt;p&gt;But if you're a small company or a startup, do you really need to build separate native apps for Android (Kotlin), iOS (Swift), and every other platform?&lt;/p&gt;

&lt;p&gt;Or is there a smarter way — a tool that lets you &lt;strong&gt;build once&lt;/strong&gt; and still deliver a truly &lt;strong&gt;native&lt;/strong&gt; experience everywhere?&lt;/p&gt;




&lt;h2&gt;
  
  
  Native Apps
&lt;/h2&gt;

&lt;p&gt;Today’s market is fragmented across many devices and platforms.&lt;/p&gt;

&lt;p&gt;Should you really build and support a separate native app for each one?&lt;/p&gt;

&lt;p&gt;The answer is &lt;strong&gt;yes -&lt;/strong&gt; &lt;em&gt;if&lt;/em&gt; you have unlimited resources, a large team of engineers, and plenty of time.&lt;/p&gt;

&lt;p&gt;Native apps provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The best performance&lt;/li&gt;
&lt;li&gt;Full access to platform-specific APIs&lt;/li&gt;
&lt;li&gt;The highest levels of security and stability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, for most startups and small businesses, these advantages come at a cost that is often too high to justify.&lt;/p&gt;




&lt;h2&gt;
  
  
  Cross-Platform Tools
&lt;/h2&gt;

&lt;p&gt;After thinking about this, the next thing we see is:&lt;/p&gt;

&lt;p&gt;There are now powerful cross-platform tools like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Capacitor&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cordova&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;React Native&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NativeScript&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These frameworks allow you to &lt;strong&gt;write once and run anywhere&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Most are web-based, meaning your main stack will be &lt;strong&gt;JavaScript/HTML/CSS&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You could also explore &lt;strong&gt;WebAssembly (Wasm)&lt;/strong&gt;, which supports multiple programming languages compiled to run in the browser.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;However, UI libraries for Wasm are still limited compared to the rich ecosystem available for JavaScript.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thus, focusing on frontend stacks based on JavaScript remains the most practical and scalable choice today.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Current Situation
&lt;/h2&gt;

&lt;p&gt;If you listen carefully, you’ll hear it everywhere:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;React, React, React.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thanks to React’s popularity, many developers naturally migrate towards &lt;strong&gt;React Native&lt;/strong&gt; for cross-platform development.&lt;/p&gt;

&lt;p&gt;React Native allows you to target:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Android&lt;/li&gt;
&lt;li&gt;iOS&lt;/li&gt;
&lt;li&gt;Web&lt;/li&gt;
&lt;li&gt;and other OSes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It sounds ideal - but it’s important to remember:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;React Native is not exactly React, and it’s not Vanilla JS.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You will miss out on many JavaScript UI libraries.&lt;/p&gt;

&lt;p&gt;So, what if you don’t want to go down the React Native route?&lt;/p&gt;

&lt;p&gt;The answer is clear: &lt;strong&gt;PWA - Progressive Web Applications&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But PWAs bring their own set of questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How well do they work offline?&lt;/li&gt;
&lt;li&gt;What about local storage and data persistence?&lt;/li&gt;
&lt;li&gt;How deep is their access to native device APIs?&lt;/li&gt;
&lt;li&gt;Can you distribute them through app stores like the App Store or Google Play?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s dive into these questions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Questions for PWAs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Offline Mode
&lt;/h3&gt;

&lt;p&gt;PWAs use a &lt;strong&gt;manifest&lt;/strong&gt; file to define app metadata and a &lt;strong&gt;service worker&lt;/strong&gt; to cache files for offline use.&lt;br&gt;
If you want to store API responses, you have options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;localStorage&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cookies&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;IndexedDB&lt;/code&gt; - a powerful, asynchronous database inside the browser&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Using &lt;strong&gt;IndexedDB&lt;/strong&gt;, you can store large amounts of data locally, enabling a rich offline experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Native API Access
&lt;/h3&gt;

&lt;p&gt;Modern browsers provide access to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Camera&lt;/li&gt;
&lt;li&gt;Microphone&lt;/li&gt;
&lt;li&gt;File system&lt;/li&gt;
&lt;li&gt;Sensors&lt;/li&gt;
&lt;li&gt;Geolocation&lt;/li&gt;
&lt;li&gt;Notifications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Need even more native features?&lt;/p&gt;

&lt;p&gt;Frameworks like &lt;strong&gt;Capacitor&lt;/strong&gt; bridge the gap by exposing device APIs to web apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation and Distribution
&lt;/h3&gt;

&lt;p&gt;How do users install a PWA?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prompt users automatically within the app ("Install this app" banners)&lt;/li&gt;
&lt;li&gt;Provide a simple tutorial inside the app interface&lt;/li&gt;
&lt;li&gt;Use services like &lt;a href="https://www.pwabuilder.com/" rel="noopener noreferrer"&gt;PWA Builder&lt;/a&gt; to package and submit to app stores (optional)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still, the beauty of PWAs is freedom:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You don’t &lt;em&gt;have&lt;/em&gt; to go through app stores unless you want to.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Browser News for PWAs
&lt;/h2&gt;

&lt;p&gt;Here’s some exciting news showing that browsers are actively working on PWA support:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;March 27, 2025:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Safari officially added Web Push support, making push notifications for PWAs more energy-efficient and native-like.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;March 17, 2025:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A hidden &lt;strong&gt;PWA support flag&lt;/strong&gt; (&lt;code&gt;browser.taskbarTabs.enabled&lt;/code&gt;) appeared in Firefox Nightly builds (&lt;code&gt;about:config&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;This shows that Firefox is actively working on full PWA support — big news for the open web community!&lt;/p&gt;




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

&lt;blockquote&gt;
&lt;p&gt;"The best way to predict the future is to create it." - Peter Drucker&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;With &lt;strong&gt;Progressive Web Applications&lt;/strong&gt;, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reach almost every platform&lt;/li&gt;
&lt;li&gt;Deliver native-like experiences&lt;/li&gt;
&lt;li&gt;Work offline&lt;/li&gt;
&lt;li&gt;Maintain just &lt;strong&gt;one codebase&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For startups and small businesses, &lt;strong&gt;PWAs are becoming the obvious choice&lt;/strong&gt; for fast, cost-effective development without sacrificing user experience.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Sounds like a perfect starting point for launching your next startup or project, doesn’t it?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>pwa</category>
      <category>javascript</category>
      <category>offline</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
