<?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: ojach</title>
    <description>The latest articles on DEV Community by ojach (@ojach).</description>
    <link>https://dev.to/ojach</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4011795%2F71304528-821e-4b81-a227-c847b167af7d.png</url>
      <title>DEV Community: ojach</title>
      <link>https://dev.to/ojach</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ojach"/>
    <language>en</language>
    <item>
      <title>iOS and Android Have Different Goals for PWAs: The Real Difference Beyond Support or No Support</title>
      <dc:creator>ojach</dc:creator>
      <pubDate>Fri, 03 Jul 2026 15:52:00 +0000</pubDate>
      <link>https://dev.to/ojach/ios-and-android-have-different-goals-for-pwas-the-real-difference-beyond-support-or-no-support-2am0</link>
      <guid>https://dev.to/ojach/ios-and-android-have-different-goals-for-pwas-the-real-difference-beyond-support-or-no-support-2am0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is a reprint from my tips blog. You can find the original article here: [&lt;a href="https://tips.ojapp.app/en/ios-android-pwa-goal-difference-3/" rel="noopener noreferrer"&gt;https://tips.ojapp.app/en/ios-android-pwa-goal-difference-3/&lt;/a&gt;]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Android vs. iPhone: Different Goals for PWAs
&lt;/h1&gt;

&lt;p&gt;When people talk about PWAs, the explanation often sounds like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Android supports PWAs.&lt;/li&gt;
&lt;li&gt;iPhone does not support PWAs very well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you only look at the PWA specifications, this explanation is easy to understand.&lt;/p&gt;

&lt;p&gt;Android Chrome supports manifest.json, Service Worker, installation, notifications, shortcuts, and many other PWA features quite strongly.&lt;/p&gt;

&lt;p&gt;iPhone Safari, on the other hand, does not behave the same way as Android.&lt;/p&gt;

&lt;p&gt;But after testing PWAs on both iPhone and Android many times, I started to see the difference in another way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More accurately, Android and iPhone have different goals for PWAs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is the biggest difference I noticed while testing repeatedly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Android tries to turn web pages into apps
&lt;/h2&gt;

&lt;p&gt;Android PWAs are clearly designed in the direction of making web pages feel closer to native apps.&lt;/p&gt;

&lt;p&gt;The idea is to take a website opened in the browser and move it toward a native-app-like experience.&lt;/p&gt;

&lt;p&gt;This direction is very strong on Android.&lt;/p&gt;

&lt;p&gt;That is why many PWA-related features are well supported.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;manifest.json&lt;/li&gt;
&lt;li&gt;Service Worker&lt;/li&gt;
&lt;li&gt;Push notifications&lt;/li&gt;
&lt;li&gt;Install Prompt&lt;/li&gt;
&lt;li&gt;Shortcuts&lt;/li&gt;
&lt;li&gt;theme_color&lt;/li&gt;
&lt;li&gt;background_color&lt;/li&gt;
&lt;li&gt;maskable icons&lt;/li&gt;
&lt;li&gt;display modes&lt;/li&gt;
&lt;li&gt;orientation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, it is not perfect.&lt;/p&gt;

&lt;p&gt;Manifest cache can be stubborn, multiple PWAs on the same domain can become confusing, and real-device testing can still create plenty of traps.&lt;/p&gt;

&lt;p&gt;Even so, when you build according to the PWA specification, Android usually responds in a fairly straightforward way.&lt;/p&gt;

&lt;p&gt;For example, if you set &lt;code&gt;display: fullscreen&lt;/code&gt;, the app feels much more full-screen.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;theme_color&lt;/code&gt; is often reflected in the toolbar color.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;orientation&lt;/code&gt; also works quite strongly on Android.&lt;/p&gt;

&lt;p&gt;In other words, for Android, a PWA is &lt;strong&gt;an app made from the Web&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  iPhone starts from the experience of placing web pages on the home screen
&lt;/h2&gt;

&lt;p&gt;iPhone is different.&lt;/p&gt;

&lt;p&gt;Even before the word PWA became common, iOS already had a culture of adding web pages to the home screen.&lt;/p&gt;

&lt;p&gt;This is close to the WebClip idea.&lt;/p&gt;

&lt;p&gt;You open a page in Safari and place it on the home screen as an icon.&lt;/p&gt;

&lt;p&gt;Next time, you tap that icon and open the page directly.&lt;/p&gt;

&lt;p&gt;This is not exactly “turning the Web into an app.”&lt;/p&gt;

&lt;p&gt;It is more like &lt;strong&gt;making a frequently used web page part of the home screen&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That is why iPhone PWAs appear to have a different goal from Android PWAs.&lt;/p&gt;

&lt;p&gt;Android tries to move the Web closer to native apps.&lt;/p&gt;

&lt;p&gt;iPhone tries to let web pages live naturally on the home screen.&lt;/p&gt;

&lt;p&gt;Once you understand this difference, iOS PWA behavior starts to look a little different.&lt;/p&gt;

&lt;h2&gt;
  
  
  iPhone is not ignoring PWAs
&lt;/h2&gt;

&lt;p&gt;People often say that iPhone does not support PWAs properly.&lt;/p&gt;

&lt;p&gt;But in reality, it is not true that nothing works.&lt;/p&gt;

&lt;p&gt;On iPhone, Add to Home Screen, app-like standalone display, &lt;code&gt;short_name&lt;/code&gt;, &lt;code&gt;start_url&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt;, and icon settings all matter.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;scope&lt;/code&gt; is especially important when you actually test it.&lt;/p&gt;

&lt;p&gt;While the user stays inside the scope, the app-like appearance is easier to maintain. When the user moves outside the scope, Safari may show a small browser UI.&lt;/p&gt;

&lt;p&gt;This would be unlikely if iOS were completely ignoring PWA behavior.&lt;/p&gt;

&lt;p&gt;However, these settings do not work in the same way as Android.&lt;/p&gt;

&lt;p&gt;Even if you set &lt;code&gt;display: fullscreen&lt;/code&gt; or &lt;code&gt;orientation&lt;/code&gt;, iPhone does not reflect them as directly as Android.&lt;/p&gt;

&lt;p&gt;Maskable icons are also not as important on iPhone as they are on Android.&lt;/p&gt;

&lt;p&gt;Instead, &lt;code&gt;apple-touch-icon&lt;/code&gt; has a very strong presence.&lt;/p&gt;

&lt;p&gt;This is where you can feel iPhone’s own home screen culture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why iPhone PWA behavior feels unique
&lt;/h2&gt;

&lt;p&gt;There are several points where PWA developers often get confused on iPhone.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;start_url&lt;/code&gt; does not always feel like it behaves as expected&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;scope&lt;/code&gt; behaves differently from Android&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;apple-touch-icon&lt;/code&gt; can feel stronger than manifest icons&lt;/li&gt;
&lt;li&gt;Some parts of manifest.json seem to have little effect&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;display&lt;/code&gt; and &lt;code&gt;orientation&lt;/code&gt;, which work on Android, barely change anything on iPhone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is easy to summarize all of this by saying, “iPhone does not support PWAs.”&lt;/p&gt;

&lt;p&gt;But I think the reality is a little more complicated.&lt;/p&gt;

&lt;p&gt;Apple seems to treat PWAs less like “apps made from the Web” and more like web pages placed on the home screen.&lt;/p&gt;

&lt;p&gt;In other words, Apple may care less about how much of the PWA specification is implemented, and more about what the user intended to place on the home screen.&lt;/p&gt;

&lt;p&gt;That is why &lt;code&gt;apple-touch-icon&lt;/code&gt; is strong on iPhone.&lt;/p&gt;

&lt;p&gt;The home screen icon has to look natural.&lt;/p&gt;

&lt;p&gt;That is also why moving outside the scope can show Safari’s mini UI.&lt;/p&gt;

&lt;p&gt;The user needs to understand that they have left the thing they placed on the home screen.&lt;/p&gt;

&lt;p&gt;When viewed this way, iOS behavior does not look like simple lack of support.&lt;/p&gt;

&lt;p&gt;It starts to look like a very Apple-like design choice.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you care about PWA specification support, Android is stronger
&lt;/h2&gt;

&lt;p&gt;If you judge PWAs purely by specification support, Android is much easier to understand.&lt;/p&gt;

&lt;p&gt;You write manifest.json, register a Service Worker, prepare icons, and set display and theme color.&lt;/p&gt;

&lt;p&gt;Then the result is usually close to what you expected.&lt;/p&gt;

&lt;p&gt;It is also easier for developers to predict.&lt;/p&gt;

&lt;p&gt;Chrome DevTools and Lighthouse make it easier to check, and Android follows the textbook PWA flow more clearly.&lt;/p&gt;

&lt;p&gt;If you want to make a web app feel truly close to a native app, Android is very strong.&lt;/p&gt;

&lt;p&gt;Android PWAs are especially useful for things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Offline tools&lt;/li&gt;
&lt;li&gt;Business apps&lt;/li&gt;
&lt;li&gt;Dashboards&lt;/li&gt;
&lt;li&gt;Input forms&lt;/li&gt;
&lt;li&gt;Web apps that use notifications&lt;/li&gt;
&lt;li&gt;Game-like full-screen experiences&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Android is strong at moving the Web toward an app experience.&lt;/p&gt;

&lt;p&gt;I think that is clearly true.&lt;/p&gt;

&lt;h2&gt;
  
  
  As a home screen experience, iPhone is also very polished
&lt;/h2&gt;

&lt;p&gt;However, if you look at PWAs as a home screen experience, iPhone is also very polished.&lt;/p&gt;

&lt;p&gt;You open a page in Safari and add it to the home screen from the Share menu.&lt;/p&gt;

&lt;p&gt;An icon appears on the home screen.&lt;/p&gt;

&lt;p&gt;When you open it, it launches in an app-like view without the URL bar.&lt;/p&gt;

&lt;p&gt;This experience feels very natural.&lt;/p&gt;

&lt;p&gt;For ordinary users, the question is not whether the manifest is perfectly reflected.&lt;/p&gt;

&lt;p&gt;What matters more is whether the thing they placed on the home screen opens naturally.&lt;/p&gt;

&lt;p&gt;iPhone feels like it has been polishing that experience for a long time.&lt;/p&gt;

&lt;p&gt;Including the rounded icon shape, home screen alignment, and the way a web page blends into the home screen, the experience is very strong.&lt;/p&gt;

&lt;p&gt;So iPhone PWAs are not simply worse than Android PWAs.&lt;/p&gt;

&lt;p&gt;The goal is different.&lt;/p&gt;

&lt;h2&gt;
  
  
  Android turns the Web into apps, iPhone turns web pages into home screen entries
&lt;/h2&gt;

&lt;p&gt;To summarize the difference simply:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Android&lt;/th&gt;
&lt;th&gt;iPhone&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Core idea&lt;/td&gt;
&lt;td&gt;Turn the Web into apps&lt;/td&gt;
&lt;td&gt;Place web pages on the home screen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Strong point&lt;/td&gt;
&lt;td&gt;PWA specification support&lt;/td&gt;
&lt;td&gt;Home screen experience&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;manifest&lt;/td&gt;
&lt;td&gt;Works fairly directly&lt;/td&gt;
&lt;td&gt;Partly works, but with strong iOS-specific behavior&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Icons&lt;/td&gt;
&lt;td&gt;manifest icons and maskable icons matter&lt;/td&gt;
&lt;td&gt;apple-touch-icon is strong&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;display&lt;/td&gt;
&lt;td&gt;fullscreen and standalone are easy to see&lt;/td&gt;
&lt;td&gt;standalone is the realistic default&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best fit&lt;/td&gt;
&lt;td&gt;Apps made from the Web&lt;/td&gt;
&lt;td&gt;Web pages placed on the home screen&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Android wants to turn the Web into an app.&lt;/p&gt;

&lt;p&gt;iPhone wants to make web pages first-class citizens on the home screen.&lt;/p&gt;

&lt;p&gt;When you look at it this way, the behavior differences become much easier to understand.&lt;/p&gt;

&lt;h2&gt;
  
  
  For services like Petal, the iPhone way feels very natural
&lt;/h2&gt;

&lt;p&gt;When I think about this difference, the iPhone way feels very natural for a service like Petal.&lt;/p&gt;

&lt;p&gt;Petal is not mainly about placing the service app itself on the home screen.&lt;/p&gt;

&lt;p&gt;It is about placing a person’s digital card or personal page on the home screen.&lt;/p&gt;

&lt;p&gt;In other words, it is not “launching an app.”&lt;/p&gt;

&lt;p&gt;It is closer to “opening a person.”&lt;/p&gt;

&lt;p&gt;This idea is closer to the iPhone-style “place a web page on the home screen” than the Android-style “turn the Web into an app.”&lt;/p&gt;

&lt;p&gt;You quietly place someone’s page on your own home screen.&lt;/p&gt;

&lt;p&gt;You open it with one tap when you need it.&lt;/p&gt;

&lt;p&gt;You are not called back by notifications. You remember it yourself and open it.&lt;/p&gt;

&lt;p&gt;For this kind of weak-connection design, iPhone’s home screen culture fits surprisingly well.&lt;/p&gt;

&lt;p&gt;This is something I would not have noticed just by building a PWA.&lt;/p&gt;

&lt;p&gt;I saw it because I built Petal and thought seriously about the experience of placing a person on the home screen.&lt;/p&gt;

&lt;h2&gt;
  
  
  OJapp is also more about home screen entrances than PWA itself
&lt;/h2&gt;

&lt;p&gt;OJapp is similar.&lt;/p&gt;

&lt;p&gt;OJapp is not a service that wants to show off PWA technology itself.&lt;/p&gt;

&lt;p&gt;What it wants to do is place URLs on the smartphone home screen and turn websites into app-like entrances.&lt;/p&gt;

&lt;p&gt;In other words, it is less about turning the Web into apps and more about creating entrances that can live on the home screen.&lt;/p&gt;

&lt;p&gt;This idea is also close to the iPhone way of thinking.&lt;/p&gt;

&lt;p&gt;Of course, on Android, it behaves more strongly as a PWA.&lt;/p&gt;

&lt;p&gt;But the essence of OJapp is not only whether something can be installed.&lt;/p&gt;

&lt;p&gt;It is the culture of placing URLs on the home screen.&lt;/p&gt;

&lt;p&gt;From that point of view, the difference between iOS and Android is not just about superiority.&lt;/p&gt;

&lt;p&gt;It becomes a difference in what each platform is good at.&lt;/p&gt;

&lt;h2&gt;
  
  
  In PWA development, the point is not choosing which one is correct
&lt;/h2&gt;

&lt;p&gt;When building a PWA, trying to decide whether Android or iPhone is “correct” usually makes things harder.&lt;/p&gt;

&lt;p&gt;If you design only for Android, some settings will not work on iPhone.&lt;/p&gt;

&lt;p&gt;If you design only for iPhone, Android may create problems around scope or install detection.&lt;/p&gt;

&lt;p&gt;I ran into exactly this issue.&lt;/p&gt;

&lt;p&gt;On iPhone, I wanted a wider scope.&lt;/p&gt;

&lt;p&gt;On Android, if the scope is too wide, multiple PWA boundaries can become messy.&lt;/p&gt;

&lt;p&gt;It is not that one is right and the other is wrong.&lt;/p&gt;

&lt;p&gt;The goals are different.&lt;/p&gt;

&lt;p&gt;So what matters is designing separately based on the experience you want to create.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use Android’s strong PWA behavior for app-like experiences&lt;/li&gt;
&lt;li&gt;Carefully design the home screen placement experience for iPhone&lt;/li&gt;
&lt;li&gt;Check manifest and scope behavior separately by OS&lt;/li&gt;
&lt;li&gt;Think about icons differently on Android and iPhone&lt;/li&gt;
&lt;li&gt;Always test on real devices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you start from this premise, it becomes much harder to make the wrong design choice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;People often say that Android supports PWAs and iPhone does not.&lt;/p&gt;

&lt;p&gt;But after testing both, the reality looks a little different.&lt;/p&gt;

&lt;p&gt;Android is strong at turning the Web into apps.&lt;/p&gt;

&lt;p&gt;iPhone is strong at placing web pages on the home screen.&lt;/p&gt;

&lt;p&gt;For Android, a PWA is an app made from the Web.&lt;/p&gt;

&lt;p&gt;For iPhone, a PWA is closer to a web page placed on the home screen.&lt;/p&gt;

&lt;p&gt;That is why they behave differently.&lt;/p&gt;

&lt;p&gt;That is why the same manifest.json does not produce the same result.&lt;/p&gt;

&lt;p&gt;What I felt after testing many times is that iPhone does not fail to understand PWAs.&lt;/p&gt;

&lt;p&gt;Apple is giving a different answer from Google.&lt;/p&gt;

&lt;p&gt;When viewed that way, iOS-specific behavior becomes much easier to accept.&lt;/p&gt;

&lt;p&gt;And when you think about use cases like Petal, where someone’s page is placed on the home screen, the iPhone way can sometimes feel even more natural.&lt;/p&gt;

&lt;p&gt;If you judge PWAs only by support or non-support, you miss the real difference.&lt;/p&gt;

&lt;p&gt;Android and iPhone have different goals for PWAs.&lt;/p&gt;

&lt;p&gt;Starting from that idea makes web app design much more interesting.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>pwa</category>
      <category>android</category>
      <category>ios</category>
    </item>
  </channel>
</rss>
