3 ms·
A lot of people here seem to criticize the OP's POV on javascript, but my biggest takeaway was the more abstract parts of his post, such as patents and uncertai
by cocktailpeanuts 10y ago
A lot of people here seem to criticize the OP's POV on javascript, but my biggest takeaway was the more abstract parts of his post, such as patents and uncertain roadmap. These are very REAL problems.
I am a javascript programmer AND an iOS programmer. I work with React to build web apps at work. And lately I have played around with react native, but I felt uneasy jumping ship to use solely react native for the very same reason.
I instead decided to learn Android programming. There's really nothing to lose going that route (after all, you're learning Java, which is arguably the #1 popular language in the world, so even if you end up giving up on Android, you still know Java), compared to spending the same time learning React Native which has very uncertain future (I would trust it much more if it was not from a corporate entity like Facebook)
- Lazare 10y ago> my biggest takeaway was the more abstract parts of his post, such as patents and uncertain roadmap. These are very REAL problems. I would say the patent issue is more FUD than a real issue; he praises Swift but Swift has a very similar patent grant and termination clause. The key difference is that the Swift grant terminates if you end up in a patent dispute with Apple over something related to Swift; the React grant terminates if you end up in any patent dispute with Facebook. So the whole issue boils down to "what if you get into a patent dispute with Facebook over a patent that doesn't relate to their core web UI tech". Which...I dunno, is that a real concern? > “nice quantum physics technology you have here, would be a shame if something bad were to happen to your app” Yeah, okay. But if my core business is making apps, then every patent I might have is likely to be covered by both patent grant termination clauses. So the issue is...? (Also, the author is conflating the license to use React with the license to use any patents, if any, which cover React. If, as is entirely possible, no Facebook patent covers any React technology, then having the patent grant terminate would not concern you.)
- cocktailpeanuts 10y agoMy point was not about the details, but about the uncertain nature of an open source project driven by a company. The patent issue is just one of the "symptoms" of this problem. When someone open sources their technology and adds a set of detailed clauses that adds some restriction (doesn't matter if it's a "real" restriction or not), it means they couldn't go all out. It also means as a user, you do have reasons to be cautious about it, not because of what the license says in detail, but because of the reason behind the behavior. But anyway, this patent issue is just one part of the larger issue, which is uncertainty. When Apple or Android changes the API policy in the future, you'll be struggling to adapt to the new reality with what you have. Sometimes it works, but sometimes it doesn't. Currently it does make sense for some people to build using react native, but if I were you, I would rather learn Android. Really, if you already have iOS experience, a lot of the paradigm is pretty similar and it won't be super difficult to learn. This "cross platform" concept used to be valuable maybe in 2010 when it wasn't clear what mobile platforms would be dominant (with windows phones, blackberries, and even samsung launching their own developer platforms). But it's 2016 now, and we're pretty sure it's either iOS or Android. All you need is just those two platforms.
- chii 10y ago> pretty sure it's either iOS or Android. it's web, android, iOS, and PC. That's 4 platforms, if you consider web and PC separate, and more if you consider windows and linux as separate. Crossplatform is more valuable than ever. But react-native may not be the answer.
- cocktailpeanuts 10y agoThe context of this entire thread was about mobile ecosystem. The concept of "cross platform" only holds when you're comparing two similar ones
- chii 10y agothe whole premise (that i m sold on react-native) is that it lets you use code from your react app and run it natively. And the concept of cross-platform is not only for "similar" platforms like mobile, but across disparate platforms, like mobile AND PC. Otherwise, what's the point of cross-platform?
- cocktailpeanuts 10y agoAs I said, that's not what people mean when they talk about "cross platform" in this context. Go to phonegap and see if they support PC. Cross platform means you should write once and it works everywhere without modifying anything, just like the web. But you can't be cross platform AND native on completely different types of platforms, since each has its own distinct feature sets. You are free to believe whatever you want but that doesn't really mean anything since you're basically arguing about something that I'm not even talking about.
- tracker1 10y agoAnd that means that ReactNative is better than phonegap! ;-) I'm not completely sold on ReactNative compared to Phonegap and Electron as targets with React web... however, I can indeed see the appeal.
- Gorbzel 10y ago> So the whole issue boils down to "what if you get into a patent dispute with Facebook over a patent that doesn't relate to their core web UI tech". Which...I dunno, is that a real concern? Yes! On one hand, tons of HN commenters claim to be opposed to 1) NPEs going after smaller software concerns 2) giant ecosystem software vendors being the only choice when it comes to mobile/web technologies, but then this amateurish ¯\_(ツ)_/¯ mindset carries the day on easily graspable concepts that directly affect the likelihood of patent infringement. > But if my core business is making apps, then every patent I might have is likely to be covered by both patent grant termination clauses. So the issue is...? Given the increasingly broader markets that Facebook, Amazon, et al. want to break into, the issue is for businesses whose core business doesn't relate to apps but that still want to leverage modern software (aka all of them). Stop brushing off issues you don't understand and calling them FUD.
- hajile 10y agoWe've been here before. The patent protection used to go one-way, but now goes both ways after the issue was raised. Most open-source code comes without patent grants of any kind, so use would automatically infringe which is a far worse situation than here. More pragmatically, few companies could actively pursue a successful patent war with Facebook because the company would run out of capital before the suit was settled. That said, I haven't seen evidence that Facebook actually owns any patents related to React which makes the grant somewhat moot. > Notwithstanding the foregoing, if Facebook or any of its subsidiaries or corporate affiliates files a lawsuit alleging patent infringement against you in the first instance, and you respond by filing a patent infringement counterclaim in that lawsuit against that party that is unrelated to the Software, the license granted hereunder will not terminate under section (i) of this paragraph due to such counterclaim.
- agmcleod 10y agoI agree with you. I have almost no iOS or Android programming experience. I built my own little work out app in react native, because it's a tech stack I know pretty well. But I do run into issues where it stops working, and I need to do a bunch of dependency updates and rebuild it. Might be worthwhile for me to just learn Swift and the UIKit APIs. When I started my current job, I was talking to our tech director on how ive been using react native a bit. Been meaning to do an internal demo for it. I do find some of the development tools awesome, but really when we already have experienced iOS and android devs in house, why not keep growing in that area instead? React Native could be a way to do some quicker business wins, with clients that need cross platform in a short time frame. But I'm not convinced it's the right solution outside of that.
- ConAntonakos 10y agoI'm super curious because I'm doing the same: what has been your approach to learning Android?
- cocktailpeanuts 10y agoAt first I downloaded and watched some tutorial videos online, but a lot of them were outdated and actually did more harm than good (for example talking about ListView when nowadays you should be using RecyclerView, etc.) so I got a book that's pretty up-to-date (published in 2015), and that helped me a lot.