8 ms·
Without having used Proton Native myself, comparing your product to React Native is not something you would want to do, honestly. React Native has insanely huge
by Etheryte 9y ago
Without having used Proton Native myself, comparing your product to React Native is not something you would want to do, honestly. React Native has insanely huge growing pains, still going, even though it's been out since 2015. The last time I checked there was still no reasonable, scalable way to do complex navigation on the platform. Most third-party components are unusable six months in due to API changes. The list goes on. On the tin, React Native, and in the same way, Proton Native, look very promising, but for anything that's more complex than a demo application, my personal recommendation is to steer far away. You're free to disagree, of course, but having extensively tried to use the "write once run everywhere", my personal experience is that it always ends up more along the lines of "write once, then patch all the bugs separately on all the platforms".
- RubenSandwich 9y agoI'm sorry but this seems overstated. There is already two highly competitive navigation libraries: https://github.com/wix/react-native-navigation https://github.com/wix/react-native-navigation https://reactnavigation.org https://reactnavigation.org Edit: Replaced the word FUD with overstated, to not seem like I'm attacking the author personally.
- rimliu 9y agoI had some discussion with the Wix engineer. Let's just say, they still feel the pain of going RN route. There are reasons why this may still be beneficial to them, but it is still painful.
- ballenf 9y agoAgree with you, but think it's somewhat unfair to call the parent comment "FUD", given the specific examples cited. To me, FUDdy comments are more vague and less dis-provable. More like "but you never know whether Facebook is going to deprecate React tomorrow". Just a nitpick because I think "FUD" borders on ad hominem in the way it's sometimes used. Again, as a React dev, I haven't encountered the cited issues and they seem a little dated, but I wouldn't call them FUD.
- RubenSandwich 9y agoFair enough, I'll replace the word FUD with 'overstated' I do not mean to attack the author.
- saagarjha 9y agoI looked at the GIF that the first one had on their GitHub page and it doesn't do iOS navigation right at all. I'm not impressed.
- Klonoar 9y agoYou're in pretty much every thread that pops up as a naysayer re: not using UIKit/AppKit/etc. The thing about the link you just pointed out is that it's literally 100% UINavigationController. I've used this in projects and had to work with the native source layer - it's nothing crazy different. It's iOS-style navigation and transitions through and through.
- saagarjha 9y ago> You're in pretty much every thread that pops up as a naysayer re: not using UIKit/AppKit/etc You got me :) But yes, I'm in a lot of these threads because I do a lot of iOS development and have strong opinions on how iOS apps should work. > The thing about the link you just pointed out is that it's literally 100% UINavigationController. I've used this in projects and had to work with the native source layer - it's nothing crazy different. > It's iOS-style navigation and transitions through and through. UINavigationController is a complex beast that is often difficult to work with even in native code, because it tries to do a lot of things for you that are difficult or outright impossible to replicate if you try yourself (which isn't necessarily a good thing, but that's what we have so that's what we need to work with). Plus, a lot of this behavior "comes for free", but the downside to this is is you customize certain things you give up a lot of this behavior. So UINavigationController is not just showing a title and a back button in a box: it does things like managing transitions, animating the title when pushing onto the navigation stack, handling popping gestures, handling content insets and vibrancy, and providing certain niceties such as "tap the top of the screen to scroll up". It's a lot of things to keep track of, even for native developers, so while I'm not saying that this can't be done in JavaScript often a lot of this just ends up being reimplemented in scratch and you end up missing things. For example, the provided link, from a cursory glance that navigation controller completely butchered title handling and animations. If you want to take look at how these should work, take a look at Settings or Mail and see how the behavior differs.
- Etheryte 9y agoAs I stated above, it's my personal opinion on the matter. I've used both of those libraries in a medium-sized project and they don't work well. Simply linking to libraries and saying they exist is hardly making a point.
- RubenSandwich 9y agoI have used both of those navigation libraries in medium sized projects as well. This is the section that struck me as overstated: "The last time I checked there was still no reasonable, scalable way to do complex navigation on the platform. Most third-party components are unusable six months in due to API changes." The links are counterpoints to the complex navigation issue. Showing that libraries exist and can handle complex navigation. If you want to argue that they are going over rapid change, which is true, then that is another thing. But I'm gonna disagree with the blanket statement of "there was still no reasonable, scalable way to do complex navigation on the platform" as overstated. As for the second point. I assume what you mean by 'third-party components', is actually third-party native modules. In which I agree the API for them doesn't seem to have stabilized yet so there is a lot of churn in native modules. But a lot of third-party components I have seen continue to work in newer versions of React Native.
- chrisweekly 9y agoIt's not "write once run everywhere". It's "learn [React] once, write everywhere". Huge difference.