Title: Hi HN! We&#x27;re Sonica, Marvin, and Satie, and we are building Red Goose (<a href="https:&#x2F;&#x2F;goose.red" rel="nofollow">https:&#x2F;&#x2F;goose.red</a>). Red Goose is a web app to mobile app conversion engine that produces ready-to-publish apps for the app stores using GitHub repos.<p>There was a discussion on HN a few weeks ago about how a developer shaved off almost half of their native app&#x27;s code without losing functionality [1]. Our launch today is a direct outcome of that thread and, moreso, in the context of this comment [2] and this one [3]. Paraphrasing the context below:<p>&gt; &quot;Fastmail is the only email&#x2F;calendar app with a reasonable size (just 20MB).&quot;<p>Followed by:<p>&gt; &quot;… EDIT: just realized the app is a web view. Sigh.&quot;<p>As someone who has been into mobile app development since 2010, the comments above read like a punch to the gut. We grew up believing that the native experience was better than the web!<p>It took a while to admit, but the web, it appears, has genuinely caught on. It has matured to a point where the four pillars of web development—HTML, CSS, JavaScript, and WebAssembly—are likely enough for universal distribution.<p>We already host compute-heavy environments for graphic designers [4], video editors [5], and rich document editing [6] on the web. And there is still more capability [7] in the works, if you will.<p>So the question we asked ourselves was: Could the modern web become the &quot;native stack&quot; of mobile app development?<p>With Red Goose, we want developers to be able to do just that. Create web applications that double up as mobile apps for the app stores. But this isn&#x27;t always easy. Historically, native mobile apps have differed from (outdone?) the mobile web in three broad ways:<p>An app-specific design language,
Smooth and fancy screen transitions and,
Solving compute-heavy processes that scaled to millions of users.<p>However, at the same time, building and maintaining native mobile apps is super expensive, and it requires hiring separate teams of experienced developers whose sole job is to focus on mobile APIs.<p>Even with the newest alternatives like React Native, Flutter, Cordova, Xamarin, Ionic, or any other similar framework, there is a quantum increase in the amount of boilerplate code. Over time, as many of us have experienced in the industry, the web and native teams grow distant, leading to a less than optimum situation and bloat.<p>Red Goose puts the webview back in the ring. This step alone removes all the duplicated code from the equation. Red Goose then offers an alternate strategy [8], using the webview as the main leverage over your web app. And solve for native experience in the following three ways:<p>First—Intrinsic Design: we have built a new css framework called Toucaan [9] to tackle the gaps between mobile app design and mobile web. It allows the development of &quot;app-like&quot; interfaces using new css standards and the intrinsic qualities of the medium.<p>Second—Screen Transitions and Animations: Not all apps need this, but smooth transitions and performant animations are already possible with the new web APIs. With a strongly cached webpage using a service worker (PWA) and a better understanding of initial containing blocks (ICBs) pertaining to your front end, one can easily take steps to take the experience to the next level.<p>Third—Webassembly: The best thing about webassembly is that the wasm functions return immediately and synchronously. So one can easily offload compute-heavy transactions to a locally installed wasm utility and benefit from performance gains instantly on both web and mobile apps.<p>It appears that many apps wouldn&#x27;t need to sprinkle webassembly into the mix to reach the level of performance expected of mobile apps, and just caching with a service worker and an app-like layout would do the trick.<p>Red Goose itself uses vanilla javascript and an experimental version of Toucaan for its frontend. Its backend is made with Node.js, Express, and MongoDB and is hosted on AWS within Docker. Our web-to-mobile app conversion pipeline uses NodeGit for app delivery, and the freshly minted mobile apps are written in Swift or Kotlin and shared directly over GitHub.<p>We believe that the opportunity to reduce app development and distribution cost using the newfangled powers of the web is massive—we&#x27;ve already helped a few teams to cut back on their expenses by as much as 80%.<p>At the same time, we&#x27;re still early and would love to hear what you think about what we&#x27;re building with Red Goose. We look forward to your comments and experiences, especially if you have been on this path before on your own. Thanks!<p>Relevant links:<p>HN Discussion:<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30442529" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30442529</a><p>[2] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30443310" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30443310</a><p>[3] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30444202" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30444202</a><p>Leading web examples:<p>[4] <a href="https:&#x2F;&#x2F;www.figma.com&#x2F;blog&#x2F;webassembly-cut-figmas-load-time-by-3x&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.figma.com&#x2F;blog&#x2F;webassembly-cut-figmas-load-time-...</a><p>[5] <a href="https:&#x2F;&#x2F;web.dev&#x2F;clipchamp&#x2F;" rel="nofollow">https:&#x2F;&#x2F;web.dev&#x2F;clipchamp&#x2F;</a><p>[6] <a href="https:&#x2F;&#x2F;workspaceupdates.googleblog.com&#x2F;2021&#x2F;05&#x2F;Google-Docs-Canvas-Based-Rendering-Update.html" rel="nofollow">https:&#x2F;&#x2F;workspaceupdates.googleblog.com&#x2F;2021&#x2F;05&#x2F;Google-Docs-...</a><p>[7] <a href="https:&#x2F;&#x2F;developer.chrome.com&#x2F;blog&#x2F;fugu-status&#x2F;" rel="nofollow">https:&#x2F;&#x2F;developer.chrome.com&#x2F;blog&#x2F;fugu-status&#x2F;</a><p>Tooling:<p>[8] <a href="https:&#x2F;&#x2F;www.toucaan.com&#x2F;blog&#x2F;mobile-apps-with-red-goose" rel="nofollow">https:&#x2F;&#x2F;www.toucaan.com&#x2F;blog&#x2F;mobile-apps-with-red-goose</a><p>[9] <a href="https:&#x2F;&#x2F;toucaan.com" rel="nofollow">https:&#x2F;&#x2F;toucaan.com</a><p>The end.
Upvote: