Jeg bygger native, så her er den ærlige version
Det ville være let at sige, at native altid vinder, men det er ikke sandt. Cross-platform-frameworks som Flutter og React Native er rimelige til mange standard-apps: formularer, lister, CRUD, indhold der ikke læner sig op ad platformsspecifikke medier eller hardware. Sylvains interesse er, at dit produkt udkommer godt, så anbefalingen bygger på det, du laver, frem for på at sælge flere native-dage.
Hvor cross-platform faktisk koster dig
Belastningen viser sig bestemte steder: videoafspilning og DRM, hvor du kæmper med broen for at nå AVPlayer og ExoPlayer; tv-platforme, hvor Flutter og React Native har svag understøttelse; dyb native API-adgang; appens binærstørrelse; og fejlsøgning, der krydser JavaScript- eller Dart-broen ind i native kode. At følge med hver ny OS-udgivelse er også langsommere, når du afhænger af et framework til at eksponere nye API'er. Hvis dit produkt lever i disse områder, vinder native som regel på tid og kvalitet.
Hvor en delt kodebase er rimelig
Hvis appen mest er skærme med data, teamet allerede kender React eller Dart, og der ikke er tunge medie-, hardware- eller tv-krav, kan en delt kodebase faktisk spare penge og udkomme hurtigere. Kompromiset er acceptabelt, når de svære dele af dit produkt ikke er de dele, et framework kæmper med. Sylvain siger det ligeud, når det er situationen, selvom det ikke er ham, der ville bygge det.
Hvordan beslutningen bør træffes
Det rigtige valg kommer fra produktet, ikke fra en trend. Sylvain ser på dine kernefunktioner, dit team, dine platformsmål og din vedligeholdelseshorisont og giver derefter en anbefaling, du kan handle på. Når native er svaret, bygger han det i Swift, SwiftUI og Kotlin. Når det ikke er, fortæller han dig det, så du ikke betaler for native, hvor det intet tilføjer.