Skip to content

Instantly share code, notes, and snippets.

@peteristhegreat
Last active February 24, 2026 18:45
Show Gist options
  • Select an option

  • Save peteristhegreat/effd66e9d0e5a28429e82f65215f6097 to your computer and use it in GitHub Desktop.

Select an option

Save peteristhegreat/effd66e9d0e5a28429e82f65215f6097 to your computer and use it in GitHub Desktop.
How to Cheaply Publish an App or Game (Mobile + Web)

How to Cheaply Publish an App or Game (Mobile + Web)

A practical map.

Short paths. Low cost. Minimal friction.

What do you say when someone asks...

“How can I cheaply make and publish an app?”

Especially in their favorite language...


Table of Contents


Apps on Mobile (Cross-Platform Frameworks)

Build once. Deploy to iOS + Android.

React Native

Official site: https://reactnative.dev/

  • JavaScript / TypeScript
  • Shared logic across platforms
  • Large ecosystem
  • Safe default choice

Flutter

Official site: https://flutter.dev/

  • Dart
  • Strong rendering performance
  • Consistent UI
  • Very popular

Qt

Official site: https://www.qt.io/

  • C++ / QML
  • Mobile + desktop
  • Good for performance-heavy apps

Apache Cordova

Official site: https://cordova.apache.org/

  • HTML/CSS/JS in native wrapper
  • Simple for web developers
  • Less popular today

Ionic

Official site: https://ionicframework.com/

  • Web tech + native bridges
  • Works with Angular / React / Vue
  • Often paired with Capacitor

Xamarin / .NET MAUI

Official site: https://dotnet.microsoft.com/en-us/apps/maui

  • C# / .NET
  • Good if you’re in Microsoft ecosystem

Solar2D (formerly Corona SDK)

Official site: https://solar2d.com/

  • Lua
  • Lightweight 2D games

Titanium SDK

Official site: https://titaniumsdk.com/

  • JavaScript-driven native apps
  • Niche today

Publishing Costs

  • iOS: $99/year (Apple Developer Program)
  • Android: $25 one-time (Google Play)

Trending Picks (2026)

If starting fresh:

  • Flutter
  • React Native
  • Ionic + Capacitor

Older stacks are niche.


Progressive Web Apps (PWA)

Authoritative overview: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps

A PWA is:

  • A website
  • Installable
  • Offline-capable
  • No app store required

Built with:

  • Web App Manifest
  • Service Worker

Install Experience

Android:

  • Often shows install prompt
  • Low friction

iOS:

  • Manual
  • Share → “Add to Home Screen”
  • No automatic prompt

This is the main friction point.


Benefits

  • One codebase
  • Instant deploy
  • No store review
  • Update instantly

PWA Games via itch.io

Platform: https://itch.io/

  • Upload HTML5 build
  • Instant URL
  • No approval process
  • Great for indie launches

Godot (WebAssembly Export)

Engine: https://godotengine.org/

  • Exports to HTML5 (WASM)
  • Small builds
  • Fast iteration
  • Excellent 2D
  • Good lightweight 3D

Strong PWA fit.


Unity (WebGL)

Engine: https://unity.com/

  • WebGL export
  • Larger runtime
  • Strong 3D ecosystem
  • Heavy for small PWA games

Unreal Engine

Engine: https://www.unrealengine.com/

  • AAA visuals
  • Large builds
  • Web not first-class
  • Better for native builds

Quick Game Decision

  • Small PWA → Godot
  • Mid 3D Web → Unity
  • High-end 3D → Native Unreal
  • Fastest publish → itch.io + Godot

App Stores

Google Play

https://play.google.com/console/

  • $25 one-time
  • AAB upload
  • Global distribution
  • 15–30% revenue share

F-Droid

https://f-droid.org/

  • Open source only
  • No fee
  • Smaller audience

Android Sideloading

  • Direct APK install
  • No approval
  • Trust friction

Apple App Store

https://developer.apple.com/app-store/

  • $99/year
  • Strict review
  • Code signing required
  • 15–30% revenue share

iOS Sideloading

  • Requires developer account
  • Not consumer-friendly
  • Limited use case

Distribution Snapshot

Max reach:

  • Google Play + Apple App Store

Open source:

  • F-Droid

Internal use:

  • Sideload

Fastest path:

  • PWA

Backend / Hosting for Custom Stacks

If you’re not using shared PHP hosting.

You still have cheap options.


1) Static + Tiny API

AWS S3 Static Hosting https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html

  • Host static frontend
  • Add serverless functions
  • Very low ops

Good for:

  • Small web apps
  • Leaderboards
  • Auth flows

2) Serverless Functions

AWS Lambda https://aws.amazon.com/lambda/

Firebase Functions https://firebase.google.com/docs/functions

  • Pay per request
  • Good for spikes
  • No server maintenance

Watch:

  • Cold starts
  • Different dev workflow

3) Edge Functions

Cloudflare Workers https://developers.cloudflare.com/workers/

  • Global edge
  • Lightweight APIs
  • Very fast

4) Small VM / Custom Runtime

Examples:

  • AWS EC2
  • Lightsail
  • DigitalOcean
  • Fly.io

You run:

  • Python
  • Go
  • Node
  • Rust
  • Custom binaries

Pros:

  • Full control

Cons:

  • You manage everything

5) Hosting at Home

Fine for:

  • Prototypes

Risky for:

  • Production launch

Practical Indie Stack

Most common:

  • Static frontend
  • Serverless backend
  • Cheap storage
  • CDN

Upgrade to VM only when needed.


Native Development + LLM-Assisted Porting

Sometimes the best solution is:

Write native.

Android

Languages:

  • Java
  • Kotlin

Official: https://developer.android.com/


iOS / iPadOS

Languages:

  • Objective-C
  • Swift

Official: https://developer.apple.com/


Where LLMs Help

LLMs can:

  • Port Kotlin → Swift
  • Port Swift → Kotlin
  • Convert business logic
  • Translate API calls
  • Generate boilerplate
  • Explain build errors

Maintaining two codebases is now much easier.

But:

  • You still must compile on Apple hardware for iOS.
  • Or use a macOS cloud machine.
  • This applies to Godot native iOS builds too.

No shortcut around Apple’s toolchain.


Realistic Strategy (2026)

Cheap + fast:

  • PWA

Balanced:

  • Flutter or React Native

Performance-critical:

  • Native

Custom backend:

  • Serverless first
  • VM only if required

Use LLMs to reduce duplication. Not to avoid platform rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment