4 ms·
Sure, it minimizes developer effort, but the end result of e.g. the iPhone app is very uninspiring and clunky. Compare it to a true native app like Path if this
by dilap 15y ago
Sure, it minimizes developer effort, but the end result of e.g. the iPhone app is very uninspiring and clunky. Compare it to a true native app like Path if this isn't immediately apparent to you.
(The use of the phrase "native goop" to describe the non-web parts seems telling. They don't seem focused on the end-user experience, but rather developer ease and (that old chimerical developer holy-grail) code reuse.)
- flyosity 15y agoThat's the exact phrase that stuck out to me too. Reminds me of Java developers who exclusively use GWT to build web apps because they want to "abstract away" the browser component of the web app and write it like an applet or desktop app. It's no wonder that Facebook's native app is going downhill, because their developers think the web is king and native code is just clunky junk they're forced to deal with.
- hello_moto 15y agoSomehow your point got lost when you use GWT as an example. Alright, it's time to explain the whole situation one more time (sigh). GWT is a platform people. It has tons of goodies from doing the CSS sprites without having to write a home-grown CSS sprites merge scripts up until optimizing JS code. Any developers that don't know their stack is limited to write high quality code, regardless you use GWT or pure JS (don't give me crap that front-end developers worth their salt without pulling the "yeah, only the best ones"). I used to code in GWT and we all need to know DOM API, we all need to know CSS. But we don't need to know the various "Object Pattern" in JS. We don't need to re-invent the module system in JS (we use Java package). The difference is that we can write testable code via unit-tests that we can run automatically using JUnit, integrated to our build systems, without having to jump through hoops and prepare a full-blown infrastructure like those that required by Selenium or WebDriver.
- funkah 15y agoI feel like this is bound to happen anytime you're optimizing for ease of development rather than user experience. Same reason to beware of cross-platform UI frameworks. But for Facebook, at this point perhaps their users are so entrenched that the app just has to work, however lackluster it may be. On the other hand, between this and the Python thing, I just can't understand why FB seems so stingy with its dev resources. I realize there is a lot of ground to cover but this is one of the biggest companies in tech we're talking about.
- gsmaverick 15y agoThey aren't one of the biggest companies in tech. I believe they just barely passed 3,000 total employees recently. Compare that to Google, Microsoft and Yahoo who all have more than 10,000.
- statictype 15y ago(that old chimerical developer holy-grail) There's a reason why this is important - it allows the 'native' app to stay up to date with the desktop web app. Yes, the Facebook native app is less usable and more clunky than it was before - on the other hand, it's feature-by-feature more up to date with the main site. Is that a trade-off worth making? Perhaps, perhaps not - but in the very least, there's an argument to be made, right?
- dilap 15y agoThere's an argument to be made, but I'd still argue against it :) As a user, I'd much rather have a polished, pleasant to use native app that lagged behind a feature or two occasionally than unified junk. As others have pointed out on this thread, FB's gotta have the dev resources to do separate versions (though maybe not the kind of developers happy to be working on such a "boring" problem). I think code reuse is often a chimerical holy-grail because in and of itself it is not a good thing; what matters is user experience, the amount of development work, how easy it is to fix bugs, &c. But developers still often obsess over code reuse, even at the expense of things that matter.
- statictype 15y agoOften, code reuse leads to less bugs and less duplicated effort which leads to more time spent on important things like features and usability. Except that, I don't disagree with anything else you said. Fogbugz has their own custom compiler that generates code for the platform of their choice. Facebook has already written their own PHP->C++ compiler. I wouldn't be surprised if they have some team there working on some high-level infrastructure that lets them write UIs and code that gets compiled down to custom Objective-C/html+javascript/AndroidJava/etc...