Native macOS apps for small business: when desktop beats web
Most small business software belongs on the web. Some specific jobs are dramatically better as native macOS or iOS apps. A practical breakdown of when to choose each, with real examples.
Most software a small business runs should be a web app. Web apps are cheaper to build, easier to deploy, work on any device, and don’t require installation.
But “most” is not “all.” A few specific workloads are dramatically better as native macOS or iOS apps — and getting that choice right matters because the cost difference is real.
Here’s how we think about it.
The five conditions that justify native
A native app is the right choice when at least one of these is true:
1. The app needs to observe what’s happening outside the browser
This is the strongest case. If the app’s job involves watching:
- Which app the user is currently using
- How long they’ve been idle
- What files just changed on disk
- What window has focus right now
…the browser cannot do that for security reasons, and shouldn’t. The OS gives this access only to native apps the user explicitly installs.
Timelog Pro is a Mac-native time tracker we built specifically because the job requires watching which app is active and which document is open. A web alternative literally cannot do this. The native version is not a nicer-looking version of a web app — it’s a categorically different product.
2. The app needs deep system integration
macOS exposes a rich set of system features that don’t have browser equivalents:
- Menu bar persistence — apps that live in the menu bar and respond to global hotkeys.
- Spotlight integration — app data showing up in the system search.
- Quick Look and Services — handing files between apps.
- AppleScript / Shortcuts — automation hooks for power users.
- Background processing — running when the app isn’t in focus.
If your target users are Mac power users (designers, developers, finance pros), these integrations are what makes an app feel like it belongs. Web apps feel like guests on a Mac. Native apps feel like neighbors.
3. The app must run reliably offline
The web has gotten better at offline (PWAs, service workers, IndexedDB) but it’s still a mess of compatibility quirks. For mission-critical offline use — a field technician on a job site, an inspector in a building with bad cell reception, a contractor on a roof — native apps offer dramatically more reliable offline behavior.
4. Performance demands exceed the browser
For most business software, browser performance is excellent. For specific categories — video editing, audio production, large-dataset analysis, complex visualizations — native code outperforms JavaScript by 5–50x for the same hardware. Web Workers and WebAssembly close some of this gap, but for the truly performance-bound work, native wins.
5. Distribution through the Mac App Store matters
If you want users to discover and install your app through the App Store — with Apple handling payment, subscriptions, and discovery — you need a native app. The App Store doesn’t accept web wrappers.
The five conditions that make web the right call
If none of the above apply, web is almost always the right call. Specifically when:
- Users are on a mix of platforms (Mac, Windows, Chromebook, mobile). Web reaches them all.
- The app’s value is in collaboration or sharing. URLs are the killer feature of web apps — they make sharing trivial.
- You need to ship updates quickly. Web apps update on refresh. Native apps require user-driven install (or, for Mac, opt-in auto-update).
- You don’t need any of the system-level features above. Most business CRUD apps don’t.
- Budget is tight. Web is roughly 30–50% cheaper for equivalent functionality.
A real comparison
Same problem, different right answer.
Scenario A: A small accounting firm wants software to track billable time for its staff. Time gets entered manually based on what people remember.
This is a web app. There’s no platform-specific feature needed. Staff might use iPads, Macs, or PCs. Sharing entries with managers is via URL. The right tool is a responsive web app with mobile-friendly forms.
Scenario B: A small accounting firm wants software that watches what its Mac-using attorneys are working on and produces time entries automatically, so attorneys don’t have to remember.
This is a native Mac app. It requires watching the active window, document, and app — exactly the kind of system-level observation a browser can’t do. This is what Timelog Pro does.
Same firm. Same general business goal. Different right tool.
When to consider Electron, Tauri, and friends
There’s a middle ground: cross-platform desktop frameworks (Electron, Tauri, Wails) that wrap web code in a native-feeling shell.
Honest take:
- Electron is the most mature, has the largest ecosystem, and produces apps that work on Mac/Windows/Linux from one codebase. It also consumes 200–500MB of memory at idle and feels distinctly non-native on a Mac. Acceptable for tools developers use (VS Code, Slack); not acceptable for apps that should feel premium.
- Tauri is the modern alternative — uses each OS’s native webview instead of bundling Chromium. Smaller binaries, better performance, but smaller ecosystem and rougher edges.
- Native (SwiftUI on Mac, Kotlin on Android, Swift on iOS) produces the best-feeling apps and is the right default for premium small business software targeting one platform.
For a small business product that will compete on quality, native is almost always right. For an internal tool nobody will love but everyone needs to use, Electron is fine.
Cost trade-off, plainly
For a focused application:
- Web app: $25,000–$80,000 for initial production version. Updates ship instantly.
- Cross-platform desktop (Tauri/Electron): $30,000–$95,000. Updates require user install.
- Native macOS only: $35,000–$120,000. Best-feeling app, but limited to Mac users.
- Native macOS + iOS: $60,000–$180,000. Right answer for true mobile-and-desktop use cases.
Pick the option matched to your users and what they need the app to do — not the cheapest by default.
A practical recommendation
For Sacramento-area small businesses considering native vs. web:
- Default to web for any business application. Faster to ship, cheaper to maintain.
- Go native only when the app genuinely needs platform-level features. If you can articulate which specific OS feature you need (active-window watching, menu bar, Spotlight, etc.), that’s the test passed.
- If you go native, commit to platform quality. A half-native app that ignores Mac conventions will feel worse than a well-built web app. Native is worth doing right or not doing at all.
If you want to talk through whether your specific app belongs on the web or on the desktop, we’d be glad to help think it through. We’ve shipped both.
FAQ
Frequently asked questions.
The questions clients ask most after reading this.
- When is a native macOS app actually the right choice over a web app?
- When the app needs to watch system activity (active window, idle time, file changes), use system features the browser doesn't expose (Spotlight integration, menu bar persistence, AppleScript), run offline reliably, or feel like a first-class Mac citizen for power users. For almost everything else, a responsive web app is the right call.
- How much does a native macOS app cost to build?
- A focused, single-purpose macOS app runs $35,000–$120,000 for an initial production version. App Store distribution adds a few weeks for review and a $99/year developer membership. Compare this to $25,000–$80,000 for an equivalent web app — the premium is real and is justified only when the platform-native features genuinely matter.
- Should we build for both macOS and iOS, or pick one?
- Pick the platform that matches the actual use case. A time tracker for desk-bound professionals: macOS. A field inspection tool for site visits: iOS. Most apps don't need both at launch. Universal Swift apps that target both with one codebase are increasingly viable but still require platform-specific UI work for either to feel right.
- What's wrong with just building a web app and using it on a Mac?
- Nothing, for most use cases. A web app on a Mac is fine. The cases where it specifically isn't: anything that needs to know what's happening outside the browser (other apps, system idle), anything that needs to run when the browser is closed, anything that needs to feel deeply Mac-native (keyboard shortcuts, menu bar, Spotlight integration). For those, native wins clearly.
- Is Swift the right language for a new macOS app in 2026?
- Yes, for almost all new work. SwiftUI has matured significantly since 2024 and is the right default for new apps. Apps with heavy custom UI or shared codebases with iOS sometimes still benefit from a mix of UIKit/AppKit and SwiftUI. Don't start a new macOS project in Electron unless you have a clear technical reason — the resulting app will feel non-native and consume more resources.
More development reading
Related from the lab.
-
Development
Why we build on Cloudflare: a boutique studio's infrastructure stack explained
An honest look at why a 2-person software studio runs every project on Cloudflare in 2026 — including the cost math, the trade-offs, and what we'd use instead for specific workloads.
5 min
-
Development
Building Trade Sentries: lessons from shipping an AI-powered contractor AMS
What we learned building a custom agency management system for contractor-focused insurance — including the technical choices, the missteps, and what we'd do differently next time.
6 min
-
Development
Modern web stack 2026: Astro, Tailwind v4, Cloudflare Workers
An opinionated walkthrough of the stack we use for fast, accessible, low-cost marketing sites and small business web applications in 2026 — and why each piece earned its place.
5 min