4 ms·
Honestly, as much of a pita it is to maintain two native apps, is this really worse than the huge overhead that was migrating to RN?
by pier25 4y ago
Honestly, as much of a pita it is to maintain two native apps, is this really worse than the huge overhead that was migrating to RN?
- secretsatan 4y agoI’m in two minds I got so frustrated with a cross platform technology i just wrote a native app to get away from it which the company later adopted. It implemented all latest native features, was tiny in size, and code base was easy to understand. As it grows and our teams grow it does get harder, but also, if you’re using bleeding edge features, cross platform solutions can only cater to the lowest common denominator
- mhuffman 4y agoI have had similar experiences on several decent sized mobile projects. The idea of a single code-base to rule them all is very seductive. The reality, when you get to UI and hardware issues, is when you begin to get frustrated. If your app doesn't need perfect hardware coverage, great hardware sub-system coverage (cameras in particular), and you have some cohesive UI design that won't irk people on seperate platforms ... then go ahead, React Native, or ionic, or flutter, or plenty of frameworks will work for you. Otherwise, I think it is better to just bite the bullet and run two separate code-bases with pretty tight project managment to keep them synced.
- threeseed 4y agoAlso when you write an app for iOS you have most of the code to target watchOS, iPadOS, macOS, tvOS, realityOS etc. For an app like Shopify where users often want to see revenue, sales etc in different environments using React Native seems a bit short-sighted to me. I would've just use Djinni [1], kept most of the core code in C++ and then build native apps. Approach that Dropbox, Snapchat etc. took and seems to work. [1] http://djinni.xlcpp.dev http://djinni.xlcpp.dev
- deleted 4y ago[deleted]
- booi 4y agoThis probably works if a lot of your core code is not UI or presentation (dropbox sync, snapchat video filters). My guess is the shopify app is almost all presentation and their backend handles most of the heavy lifting and writing that in C++ is... not ideal
- booi 4y agoThis probably works if a lot of your core code is not UI or presentation (dropbox sync, snapchat video filters). My guess is the shopify app is almost all presentation and their backend handles most of the heavy lifting and writing presentation in C++ is... not ideal
- threeseed 4y agoYou wouldn't write the presentation layer in C++. It would be for all of your domain models, business logic and backend integration code. You could even have Djinni generate the server side models as well.
- Eric_WVGG 4y agoThat's what really puzzled me about 1Password's switch from native Mac to Electron. The reason was, "we want code sharing with Windows". Okay, you've got that now… it's terrible… but you're also maintaining a SwiftUI app for iOS and iPadOS. Why not code share that with Mac?
- lucasyvas 4y agoMy guess is they'd maybe prefer the majority of their investment be in cross platform technology?
- Eric_WVGG 4y agoBut code-sharing between MacOS and iOS is also investment in cross platform technology. They're _already_ managing two code bases, why does Mac have to be on the shitty one?