4,880 karma · joined August 3, 2013
You get warnings in jest about needing to use act from react-test-renderer if you use async code to trigger state updates - the solution being recommended currently is mock every promise with a synchronous version, which then litters your app code with conditionals in many places for whether to use the mock or real promises. At that point, you're much better off using Angular for writing decent component/unit tests, where you don't have to fight with any async DOM or JS api in order to write working tests, or pollute app code with test specific branching logic since that is all handled at a single injection point via the IoC container.
If you have promises, you're forced to bleed a isMounted type of flag into the cleanup function scope in order to guard against promises attempting to trigger state changes after the promise is complete with its async function (i.e. data fetching).
These are two frustratingly painful dev ergnomoics situations that are unsolved with hooks. Otherwise, I am happy with them, but these are major pain points I have encountered with them so far, and given FB doesn't use promises in their internal apps for the most part, I don't see them likely to put in much work solving these problems unfortunately.
Disclaimer: I would love to put in some effort to solve these pain points with design discussions & code, but unfortunately I cannot put in that work without going through approval processes with 5+ people.
I also have another friend who has been banned for life by Google for the Play Store as well by association. Google refused to reconsider on appeal, and offers no recourse for him, a professor who teaches Android dev.
Google's lesson is clear here - don't use their services if you can help it because you expose tremendous liability due to Google's unwillingness to take any.
These are basically the main downside though - I switched to Apple News after Google started inserting YouTube videos in Google News, and haven't looked back. AMP also broke the browser back button as well, adding insult on top of injury.
React has certain weaknesses that aren’t seen in other UI libraries/frameworks as well - forms are a complete mess to work with, even with formik, and animations are pretty problematic.
As with anything, there are tradeoffs to approaches. FB isn’t as form heavy in general, so optimizing how it works for the rendering inputs from external sources & dev usability makes sense for their use cases. It’s important not to conflate this by overpraising.
While I'm not an executive, I am a senior engineer being groomed for management at a FAANG currently. I have no doubt that I could move to being an executive or carve out a career in management if I want based on my track record.
While having better paper credentials help you earlier in your career, I'm a firm believer that the paper doesn't guarantee a successful career, and that there is no substitute for executing.
We ended up switching to React by rewriting the Ember app in a few weeks and moving significantly faster as a team, gaining more flexibility & better abstractions (which we had to write, but it was not a problem with our engineers' quality). Since then, my whole organization has only written new UIs using React to my knowledge.
I personally would rather use Angular (latest) or React than use Ember again. I do appreciate some of the things Ember has brought to the ecosystem though like a robust CLI ala Rails, but I think the routing convention needs more flexibility and Ember Data needs some love to fix the ease of getting into some buggy situations.
Around 4-5 years ago, Android phone manufacturers started locking down their phones more while not letting them be rooted. They didn't solve the problem of having undeleteable apps waste my time & space with clear advertising plays.
After my experience with the Galaxy S5, I quickly jumped to the iPhone 6 when it came out, and haven't looked back. I've used Android for a period of time in parallel with a second phone, but it only confirmed my reasoning for bailing for the iPhone - the Android experience is just way behind.
I got to use it as my fire team's machine gunner before getting discharged in what was an unwinnable bureaucracy loop. It was a near total win over the SAW - not only was it more accurate & lighter, but it didn't breakdown anywhere near as much. The interesting shift though is that it sounds like every Marine is going to get an IAR, and not just the machine gunner for a fire team. This could have some ramifications on infantry tactics, since the machine gunner in a traditional fire team (i.e. fulfilling the suppressing firepower role) could switch depending on the scenario and yield some formidable advantages.
For some units, the amount of gear you have to carry can get bad, like carrying a 50 cal, or in the case of my unit, we had a lot of M240Bs to carry because that's what we had on our LAVs.
Smart assistants in general have a ways to go still, but perhaps in the next 5-10 years they will be very good.
I suspect people like to throw a lot of airy claims about terms like innovation without understanding what exactly does that even mean vs. what do they actually mean, although we'd need less hand-waviness and more well-stated gripes to be sure.
I say this as someone working for another FAANG whose HQ is not too far away from Google's, and as someone who spent 4 years in a math PhD program.
Unfortunately I ran out of time to be able to continue to maintain it, and now work for one of those big tech companies that requires a lot of approvals to participate in open source anymore unfortunately :( . There are a lot of good fixes pre-2.0 though if you can upgrade to it!
Probably one of the biggest disincentives for continuing to me though were some of the users - some were outright abusive.
I still remember times before Facebook came to dominate social media. It was difficult to keep tabs on friends, and the barrier was higher to keeping in touch with someone you met casually in person, as there are a lot of people who are less willing to share phone numbers with people they just met - there is something intensely personal about phone numbers or similar to many people, which still holds today. I think many people under appreciate this, and the controls for managing the communication relationship social media gives you (or at least Facebook - Twitter's are garbage).
I use social media casually today - just Facebook and rarely Instagram, and post maybe once a day or every other day. I am in some FB group chats, all which could be text messages, but text messages aren't as robust of a medium (for example, location sharing in a group or easy searching of pictures people want to use to respond with).
Are you confusing AngularJS and current Angular? AngularJS is certainly wholly slower than React, but not Angular 2+.
Note: I used to work primarily with Angular, but I currently use React since the coding style encouraged with React works better with the team I'm on & React is fast enough to us.
I wonder how Angular would compare once that is done, as this has long been known as probably the main negative with Angular performance-wise, the initial load (but it should be faster than most of the rest once it does load).