4 ms·
I've never really understood this way of thinking. In my experience, it is trivial to maintain cross-platform applications if you encourage code-reuse in the lo
by Qasaur 6y ago
I've never really understood this way of thinking. In my experience, it is trivial to maintain cross-platform applications if you encourage code-reuse in the logic layer and tailor the UI/UX experiences for the platform you are targeting. In practice this usually means writing the client business logic in a high-performant language that can target multiple platforms (I've only used Rust for this, but there are other languages out there that would work well with this approach as well), and using FFI when interacting with the UI layer. Combine this with good message passing practices (to homogenise serialisation/deserialisation and avoid the complexity of having hundreds of different FFI functions with various parameters) and you've got something that is easily integrated in platforms with little headache.
I've seen great success with this approach for most platforms including mobile as it provides the end-user with a great user experience (you can use all the native UI APIs which provides an experience that the user is already familiar with) as well as extremely high performance with a high degree of code reuse.
- MattGaiser 6y agoBut why bother even setting up different build environments for the different platforms? Even that part makes it already more work than Electron and I can't think of any meaningful business benefit to not using Electron.
- entha_saava 6y agoHow do you measure "meaningful business impact". Because everyone optimized for "meaningful business impact" I have no space on my SSD to install your app. (and even if I install it, it would cause my laptop fans go wild and I go for an alternative / use your app less.)
- pier25 6y ago> In my experience, it is trivial to maintain cross-platform applications Even if setting up the code reuse among platforms was trivial, now you have to develop and maintain a new UI project for each platform with different languages, SDKs, dev environments, and other peculiarities. With a web UI you can target 6 platforms at once with the same UI project: Android, iOS, ChromeOS, macOS, Windows, and web.