Earlier quoted context omitted.
Yeah, not sure where this idea has come from. Seems like RN haters just jumping on any opportunity to slate it. Reality is, just like most technologies, RN is a good fit for some scenarios (small team needing to support both mobile platforms? no native devs on the team? performance not critical? etc.) and not a good fit for others. I guess many native developers feel negatively towards it because a lot of companies w…
> Yeah, not sure where this idea has come from. Seems like RN haters just jumping on any opportunity to slate it. There seems to be a much more obvious explanation as to why people are assuming it used to be React Native. The article says: > > Compared with the previous iOS version, this new Messenger is [mentions improvements]. > > We accomplished this by using the native OS wherever possible […] That seems to imply…
LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
321–330 of 333 posts
Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#322So, they've reduced 1.7M lines of code to 360K. Let's pause here for a moment: - NumPy is 360K lines mostly C - Postgres is around 2.1M of C - Go 1.13 is around 1.5M of Go code - Rust 1.37 is around 1.2M of Rust code iirc - core llvm is around 3M of C++ iirc ... A chat app is 1.7M. A chat app... Makes me feel sorry for all the time spent/wasted by all those devs, many of whom are unquestionably brilliant and could've…
Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#323Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#324I really wonder if in their meetings they sold the speed and lighter weight as a bonus for the user or for the collection of data on the user. This must reduce their overhead and be kinder on their servers.
Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#325So, they've reduced 1.7M lines of code to 360K. Let's pause here for a moment: - NumPy is 360K lines mostly C - Postgres is around 2.1M of C - Go 1.13 is around 1.5M of Go code - Rust 1.37 is around 1.2M of Rust code iirc - core llvm is around 3M of C++ iirc ... A chat app is 1.7M. A chat app... Makes me feel sorry for all the time spent/wasted by all those devs, many of whom are unquestionably brilliant and could've…
Honestly, a chat app that 1 billion+ use per month that includes payments, camera effects, extensive social integrations, stories, GIFs, reactions, games, polls, voice recording, calling, video chat, and works across all mobile platforms, with nine years of technical debt, that thousands of developers build simultaneously seems WAY more complicated to me than any of your examples. Messenger may not have "HN clout" bu…
Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#326Earlier quoted context omitted.
I can speak for Qt, Ionic and Cordova. Beyond "Hello World" all of them required me to get my hands dirty, at which point I was better off just doing C++ with native views, standard out of the box tooling available across all SDKs. Nowadays I rather go for PWAs, or plain mobile Web, unless it is something very special that requires OS APIs or hardware access.
I've worked power-user type applications that are mainly keyboard driven, and those are pretty easy to make cross platform with a single custom codebase that has a platform-specific graphics backend (OpenGL covers many platforms) and minimal platform code. Let's say < 300 lines of boilerplate per platform + 600 lines for OpenGL + 2-5K lines for (shared) UI controls.
Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#327Earlier quoted context omitted.
I've worked power-user type applications that are mainly keyboard driven, and those are pretty easy to make cross platform with a single custom codebase that has a platform-specific graphics backend (OpenGL covers many platforms) and minimal platform code. Let's say < 300 lines of boilerplate per platform + 600 lines for OpenGL + 2-5K lines for (shared) UI controls.
Yeah, but that kind of fits what I was describing, you are using standard SDK tooling, and it looks to me it being game engine like.
Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#328Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#329Earlier quoted context omitted.
Part of it also comes from the tendency of large orgs to ship their org structure. It can oftentimes be worthwhile to have individual teams each fully "own" a piece of the product, and that also comes with the autonomy to choose to duplicate stuff that other teams might have already built rather than working with them and tweaking it to match their own specific new requirement. This significantly reduces communicatio…
Interesting. I wonder if there's a corollary: "you will ship your org, so be careful how you structure your org."
Re: LightSpeed: Rewriting Messenger’s codebase for a faster, smaller, simpler app
#330So, they've reduced 1.7M lines of code to 360K. Let's pause here for a moment: - NumPy is 360K lines mostly C - Postgres is around 2.1M of C - Go 1.13 is around 1.5M of Go code - Rust 1.37 is around 1.2M of Rust code iirc - core llvm is around 3M of C++ iirc ... A chat app is 1.7M. A chat app... Makes me feel sorry for all the time spent/wasted by all those devs, many of whom are unquestionably brilliant and could've…
NumPy is a library. The other three are compilers. Why are you comparing these with a GUI-based chat application?