App budgets include clients, backend, stores and compliance. An IPA or APK without APIs is not a product.
Client: screens, permission prompts, weak networks, updates. Backend: users, content, orders, config. Third parties: SMS, maps, push, payments. Pretending the last two are "included in the binary" is how invoices reopen.
Mini programs skip store review and vendor push, and add WeChat category and merchant setup. If you need a home-screen icon and push, you are buying clients plus one backend. Estimate the mini program as its own channel.
You drop one client. You almost never drop the admin, APIs or payments. If iOS is required within a year, splitting the work often costs more than doing both on one design.
When screens match and you are not deep in camera or Bluetooth, shared UI logic helps. Heavy native islands give the savings back.
They should be listed as operating cost. Mixing Apple or Google yearly fees into a one-off engineering number hides the real shape.
Login, lists, one transaction, admin, APIs and a store submission plan. We still estimate from that list — not from a slogan price.
Say whether Android, iOS or both must ship, and what the admin must change without a resubmit. Write that to /en/app/.