back

by codazoda·9y ago·view on hn ↗
I find React Native just as bad, if not worse. They don't try to keep backwards compatibility like PhoneGap did, which often means a few upgrades here or there. With React 15 we chose to rewrite the nearly 100 classes in our project because createClass is going away (we did choose to rewrite now rather than use a library for it and possibly rewrite later). Anyway, things are moving quickly in React and that creates similar burdens. Especially for large, slow moving applications.
2 comments
Ultimately true native is the best. If you can engineer the maximum amount of logic in the backend and have the thinnest possible clients, you will be so much happier even with the "duplication".
As a consultant this is the advice i always give clients. Put it on the server until you have just the flashy truly native UI left.
Unless, of course, there's no backend and your app is a full-blown tool to run on the device only.
You can still have 95% common code with shims to fit the different platforms. Oddly enough, the original Doom is one of the best examples of this process in action. It supports Windows, Linux, and a host of other OS targets, at a time the interfaces couldn't have been more different.
Personally I find not keeping things around just for legacy reasons a feature.

As long as they signal deprecation with enough notice (which they are very good about) then it shouldn't be any real issue.

Having to refactor a lot of code to keep up with the changes, even if given enought notice, is a real issue. Developers' time costs a lot of money.
So does maintaining legacy code and API's but spread across the whole community.

It's annoying on a small scale, and I've been there myself (many times) so I'm sympathetic, but it's also a greater good overall.