Slashdot Mirror


Facebook iOS App Ditching HTML5 For ObjectiveC

Wrath0fb0b writes "The New York Times reports that Facebook is overhauling their iOS App to ditch their HTML5 based UI for a native ObjectiveC one. This is an about face from their position a few months ago in which FB said HTML5 would allow them to write once run anywhere. While WORA certainly has a lot of appeal for both programmers (due to desire not to duplicate effort) and management alike (due to desire not to pay programmers to duplicate effort), the large number of negative reviews that FB for iOS has illustrate that this approach is not without drawbacks. No matter how the new app is received, this is more fuel on the native vs. web-app fire."

55 of 240 comments (clear)

  1. Ask any grey beard. by xtal · · Score: 4, Insightful

    Native code is _always_ better.

    --
    ..don't panic
    1. Re:Ask any grey beard. by jythie · · Score: 5, Insightful

      Well, 'better' is relative. The question is often 'is it better enough to justify the decreased portability and increased cost of supporting multiple platforms?' Sometimes the answer is yes, sometimes the answer is no.. sounds like the answered wrong in this case.

    2. Re:Ask any grey beard. by xtal · · Score: 5, Insightful

      Better, in the sense that cost considerations aside, technically, it is superior almost every time.

      In reality, your logic and communication bits should be abstracted anyway - isn't that the hallmark of good programming practice? ..and even then there's performance tradeoffs.

      Write it all in assembly and get off my lawn. :)

      --
      ..don't panic
    3. Re:Ask any grey beard. by Kenja · · Score: 3, Funny

      What if I build an OS with a native API that runs on the souls of war orphans, but it also has a web browser? What then Mr Beard?

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    4. Re:Ask any grey beard. by armanox · · Score: 3, Funny

      If you can do that I'll be impressed.

      --
      I'm starting to think GNU is the problem with "GNU/Linux" these days.
    5. Re:Ask any grey beard. by prgrmr · · Score: 4, Funny

      if he could do that, I'd pay money to fund the war to produce the orphans.

    6. Re:Ask any grey beard. by roc97007 · · Score: 2

      And while we're on the subject, get off my lawn!

      --
      Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
    7. Re:Ask any grey beard. by Anonymous Coward · · Score: 5, Funny

      I think you mean bastards. If you really want to do your part to produce orphans ...

    8. Re:Ask any grey beard. by Quiet_Desperation · · Score: 5, Funny

      I've been dabbling in Objective C. It's... interesting. I regret nothing... well, unless I have those dreams with the brackets. So many brackets! And the garbage! Piling up everywhere! Was it five references or six? Do I feel lucky? What? Where was I? Oh. Yeah, it's OK.

    9. Re:Ask any grey beard. by 93+Escort+Wagon · · Score: 2

      I've been dabbling in Objective C. It's... interesting. I regret nothing... well, unless I have those dreams with the brackets. So many brackets!

      I think you'd really like Lisp - maybe tackle that next.

      --
      #DeleteChrome
    10. Re:Ask any grey beard. by mosb1000 · · Score: 3, Informative

      The latest version of Objective C has automated reference counting, so garbage collection is no longer an issue.

    11. Re:Ask any grey beard. by BZ · · Score: 2

      Write it all in assembly, and more likely than not for a large system you get http://en.wikipedia.org/wiki/Therac-25

    12. Re:Ask any grey beard. by jcr · · Score: 2

      Objective C 2.0 has garbage collection, not automated reference counting.

      Currently, it has both. We're in the process of moving from GC to ARC, since GC left much to be desired.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    13. Re:Ask any grey beard. by johnnyb · · Score: 2

      Objective-C has 90% of the power of Ruby, with 90% of the static-compile-time checking of C++. I actually started an objective-c implementation of Rails (called Newm), but haven't had time to do a lot of work on it. Ruby developers waste half their lives writing tests for things a compiler could catch automatically. About 80% of Rails application bugs could be caught just by having decent compile-time type checking, which Objective-C provides.

    14. Re:Ask any grey beard. by Simon+Brooke · · Score: 3, Insightful

      Speaking as a greybeard (both literally and as a thirty-year veteran of this industry), bullshit. When I was young there were still a few people around who could write software by writing opcodes out in pencil on the train home and have them work first time without bugs (Chris Burton, who helped build the Manchester Mark One, I'm thinking of you), but most people can't. And most people cannot write C well enough to outperform the software that the same person can write in a decent high level language.

      Virtually no-one, now, can write anything sophisticated or complex in opcodes. Virtually no-one can do it even in assembler (yes, I know you did a little assembler project in CS101, but that really doesn't count). Yes, I know that a few rare geniuses can write exceedingly efficient fault free code in C or C++. Most complex programs written in C or C++, however, are too expensive in debugging and maintenance costs to outweigh any very small performance advantages they might have over high level languiages. Grow up, and live in the modern age. Toggling switches on the console, teletypes, punchcards, assembler and C are all history.

      (Mind you, of course, there is some exceedingly bloated code around. I recently installed, on Windows, a Bluetooth device driver that was 60 Megabytes, which I found unbelievable... the fact that we have high level languages is no excuse for bloat or sloppy engineering practices.)

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
  2. WORA.... by jythie · · Score: 2, Insightful

    Has appeal in theory (and sometimes practice); looking great on paper, but it is easy to get swept up in enthusiasm for the concept and not really think though how applicable it is to any given environment.... and even when it does work it is pretty rare for something to truly 'work anywhere' in the real world.

    1. Re:WORA.... by steelfood · · Score: 4, Interesting

      The problem with WORA is that the interpreter has to both be present and consistent across all environments. It worked for Java, because Sun wrote all of the initial JVMs, and every such JVM conforms to the same spec. Even then, Java was for the desktop/server. Sun had to change to a new spec for mobile, which they recognized was a completely different playing field. The scope of WORA that Facebook wanted to apply wouldn't have worked even they were using Java.

      Something as massive and as fractured as HTML5 where everybody "supporting" it has actually only implemented a portion of the standard and not the full thing, it's virtually impossible to get right. Not only this, but there needs to be a layer that changes elements based on device capability and type. This layer does not exist in the standard. Thus, WORA cannot and does not work for HTML5.

      And to be honest, it may never work.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
  3. Is that why it sucks? by blahbooboo · · Score: 2

    Weird, their web browser app is what I use since their app sucks. Guess this is why?

  4. C'mon by tthomas48 · · Score: 5, Insightful

    They're having trouble returning a few hundred lines of text and 10 photos. Methinks HTML rendering speed is not even remotely their problem.

    1. Re:C'mon by alen · · Score: 2

      what is proprietary about iOS? it's freebsd for ARM with a GUI and support for proprietary API's. Safari is webkit just like chrome

    2. Re:C'mon by Anonymous Coward · · Score: 4, Informative

      This is about a browser, not a proprietary OS, and the fact that they have to communicate with back-end servers for several million users has nothing to do with HTML5 vs native. Facebook is having trouble, and it's most likely because the programmers assigned to the task weren't good enough.

      There are HTML5 apps that look really good, for example, Fidelity has a nice app that looks sharp and is performant.

      Now, personally, I'd rather write in native code than in HTML5, but that is a personal preference, not because HTML5 can't handle the task on iPhone.

    3. Re:C'mon by tthomas48 · · Score: 2

      I might buy that line of reasoning if I couldn't fire up the Facebook website on my phone and tablet and compare the speed with the app.

  5. Good start by MrEricSir · · Score: 4, Insightful

    That's good, but I don't think it's fair to blame the poor quality of Facebook's app entirely on HTML5. For example, the app will occasionally chew through hundreds of megs of space, crash randomly, or even navigate to the wrong page when you click a link. Pretty glaring bugs that even the greenest QA testers would have noticed.

    At some point you have to blame management for not spending the time for proper testing and bug fixes. It *should* be a fairly straightforward app no matter how it was written.

    --
    There's no -1 for "I don't get it."
    1. Re:Good start by homb · · Score: 2

      The problem is that the Facebook engineers went too far.
      In their hubris (not necessarily generally bad) they thought that they could literally create a very deep interface between their html code and the underlying native APIs. Essentially abstracting the underlying native APIs with a code interpreter that would allow their servers to send the same html to any device, and some additional stuff for those that had other features.
      As usual, they started simple and everything worked, but then over a few months they added more features and the stuff kept growing in complexity and ultimately ate crap. And debugging some kind of virtual machine on a smartphone isn't the easiest thing.
      So they're finally figuring out that it ain't working, and going back to native development on top of their standard JSON (or whatever) server API.

    2. Re:Good start by beelsebob · · Score: 2

      Because objc *has* a nice modern runtime, and is a nice modern language ;)

  6. Makes no sense to me by benjfowler · · Score: 5, Insightful

    If it were purely about performance, then they could just use web services to grab the data they needed, style it on the client side and run it in an HTML control. How would drawing content using a native app help performance if the data requirements are the same -- rendering HTML isn't *THAT* slow on iOS, is it?

    And with a web app, they have far more control over QA and the release process, and can potentially turn around minor updates much faster than if they had to jump through the App Store release process.

    OTOH, they think they have a problem, then good for them. The current client has been buggy for me for quite a while, with navigation buttons sending me to random parts of the application -- they clearly have QA issues that aren't going to be helped (and likely will be made worse) by an app rewrite.

  7. WODE . . . Write Once . . . by PolygamousRanchKid+ · · Score: 4, Funny

    Debug Everywhere . . .

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
  8. Why does FB care about write-once run-anywhere? by Jake73 · · Score: 4, Insightful

    They are a multi-billion dollar company dealing with an app running on one of (if not the) most relevant and widely-used smartphones in the market. They should dedicate a team specifically for the iPhone. And if Apple changes the API every week, they would be wise to rewrite the app every week just to maintain that market.

    I don't care for Facebook and have my issues with Apple, but this is just a business decision on ROI.

  9. WORA - Fortran by seyfarth · · Score: 2

    Write once, run anywhere? Didn't they say that about Fortran? Write it all in Fortran and get off my lawn.

    --
    Ray Seyfarth, ray.seyfarth@gmail.com, http://rayseyfarth.blogspot.com
  10. Re:what what what? by Dynedain · · Score: 2, Insightful

    This is just Facebook trying to blame their shoddy implementation on someone else.

    None of the bugs and issues reported by users are HTML5 caused problems.

    --
    I'm out of my mind right now, but feel free to leave a message.....
  11. Re:About time by Korin43 · · Score: 5, Interesting

    I think the problem with the Facebook "app" was that it didn't seem to store anything locally -- meaning every UI event involved a request over the internet, which does not make for a responsive UI.

  12. Re:what what what? by roc97007 · · Score: 2

    This is just Facebook trying to blame their shoddy implementation on someone else.

    None of the bugs and issues reported by users are HTML5 caused problems.

    (You are absolutely correct. I was being ironic.)

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  13. Android version by gauauu · · Score: 4, Informative

    Does the Android version use HTML5 as well? Because it is beyond horrible. I can't figure out why the app would actually be SLOWER and harder to deal with than viewing their site on a browser, but somehow they have managed it.

    1. Re:Android version by geoffrobinson · · Score: 2

      My guess is that the problem is on Facebook's end and Michael Stonebreaker was on to something when he critiqued Facebook's database architecture: http://gigaom.com/cloud/facebook-trapped-in-mysql-fate-worse-than-death/

      So to compensate for some of those issues, they have to go to a more responsive UI.

      --
      Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
    2. Re:Android version by NormalVisual · · Score: 2

      An unresponsive UI isn't behind stuff like the app's apparent inability to follow outside HTML links without throwing errors, as happens all the time on the Android version for me. It really is one of the poorest excuses for an app that I've ever used.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
  14. No. by Anonymous Coward · · Score: 2, Insightful

    UI Rendering speed is exactly the same for native code and html elements. The reason is, guess what browsers do to show you lists, buttons, drop down boxes, etc?? They use *NATIVE* UI elements. It is plainly obvious you understand nothing on this topic.

    The issue is UI *latency*. HTML based UI cause increased round trips from mobile devices to their data-centers creates a terrible experience for users when compared to native apps. Mobile devices already are worse off when it comes to network latency, and this exaggerates the problem.

    HTML + CSS + JS is the worst "modern" paradigm to base any kind of UI on. Don't get me wrong.. its also a horrible data/text layout language too. It can't even do what layout programs used for producing magazines 50 years ago did. Not to mention the standards themselves are so horrible that nobody in the entire world has ever in the history of standardization been able to produce a reference implementation. And judging by the several hundred KiB sizes of webpages these days, it would be more efficient if you just hosted a damn PDF file, at-least it would look the same everywhere.

    1. Re:No. by Anonymous Coward · · Score: 3, Insightful

      at-least it would look the same everywhere.

      And here we have the problem. Web pages are not supposed to look the same everywhere.
      Yet PHBs trying to achieve that are what cause literally every problem in Web standardization.

      Just serve me the information, and I'll render it how I like.
      Quit obsessing about controlling my user agent!

    2. Re:No. by dgatwood · · Score: 2

      UI Rendering speed is exactly the same for native code and html elements. The reason is, guess what browsers do to show you lists, buttons, drop down boxes, etc?? They use *NATIVE* UI elements.

      Although that is pedantically true if you did all your own UI drawing using programmatic calls and did all your own layout work using something as complicated as the DOM and CSS, in practice, you're completely and totally wrong. The UI layout engine used for a native app is orders of magnitude faster. And this is why UI latency is so much worse for web-based UIs.

      HTML based UI cause increased round trips from mobile devices to their data-centers creates a terrible experience for users when compared to native apps.

      No, not really. A native UI has to make the exact same requests to the server to get the exact same data. Bear in mind that Facebook's UI is not served by some PHP script returning a page full of data. The server provides a simple HTML page once when you open the app or browser, and everything else is done dynamically by making JSON requests for the raw data, followed by handing that off to JavaScript code that mutates the DOM. Thus, to the extent that the new version they're designing has better latency, the improvement is entirely caused by differences between the insane complexity of the DOM and the relative simplicity of a springs-and-struts layout model (or whatever).

      HTML + CSS + JS is the worst "modern" paradigm to base any kind of UI on.

      No disagreement there. Even with flex boxes, it is just barely starting to approach the level of flexibility that native UI controls have supported for a good two decades. A few weeks ago, it took me three days of CSS monkeying to design a moderately complex UI pane in CSS and HTML that would have taken two or three minutes in Interface Builder. Even simple things like "make this box the same height as that box, make them start X pixels from the top of the window and Y pixels from the bottom of the window, with the contents scrollable, and make the left box contain a series of tabs for the right box, with no right border for the selected tab, and if the contents don't fill the entire left box, fill the remaining area with a given color" turn out to be a royal pain in the backside with CSS because you make one change to fix one problem and it breaks something else.

      HTML/CSS isn't modern at all. It's a pile of hacks on top of a pile of hacks on top of a pile of hacks. It is quite possibly the absolute worst way to design a user interface that any sane person could come up with. But it is the only portable choice when we're designing stuff on the web, and that's the reality you have to live with. That said, if you have to write a native app anyway to gain access to hardware features, you'd be crazy to then say, "I'm going to make my life miserable by designing 99% of the UI using HTML and CSS." :-)

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  15. They need to share a language by tepples · · Score: 2

    In reality, your logic and communication bits should be abstracted anyway - isn't that the hallmark of good programming practice?

    I agree in principle. However, sharing components among versions of an application for different platforms works only if all the platforms can run programs written in the same language, and in practice, there are a lot of platform pairs that lack a shared language. For example, how do you share a component between an application for Windows Phone 7, which runs only C# and other languages that compile to verifiably type-safe CIL and do not use the DLR, and the corresponding component for iOS, which runs Objective-C++? Xamarin's answer is to let the Windows Phone 7 port dictate the choice of implementation language for all platforms. This way, components shared with an application for WP7 run in Xamarin's CLR reimplementation for non-WP7 platforms, which Facebook can afford but many individual developers cannot.

    1. Re:They need to share a language by PerfectionLost · · Score: 2

      It's called web services, that return a standard format like JSON, or XML. That's how we do it at my work. Currently I'm working on a project where I serialize perl hashes and arrays into XML, and pass them via a REST based web service to a C# system that serializes it into a DataTable for display in some .NET controls. C# can deserialize the DataTables back into XML, post it to the REST based web service to where it gets re-serialized into hashes and arrays for various CRUD type actions.

  16. Android Native Development Kit by perpenso · · Score: 3, Informative

    Ask any Mobile Developer, simultaneously writing for iOS and Android.

    The need for the Android NDK (Native Development Kit) answered that question. Java-like approaches are fine for certain classes of apps but for many classes native is better.

    1. Re:Android Native Development Kit by AuMatar · · Score: 2

      And allows code sharing. The standard way to write a cross-platform app is to write the main logic in C++ or C (which is pretty portable), then to write the UI in whatever the platform is forcing you to. Pretty much all cross platform phone apps are C++ backends with a thin GUI layer in whatever that platform is pushing.

      --
      I still have more fans than freaks. WTF is wrong with you people?
  17. As long as they... by Grizzley9 · · Score: 3, Interesting

    fix what's broken and allow the same functionality as the website. I hate it when apps like Pandora, FB, or even G+ or any others that have an app and a website where the website gives you many more options. They only give you the basic experience on the mobile app and am still tied to a computer for doing anything more than basic.

  18. But will it help? by FellowConspirator · · Score: 5, Interesting

    It seems to me that the Facebook app's issues are not so much about HTML5 performance, but rather the way that they handle transactions with their servers. The network performance of the app is atrocious. Look at the traffic of the iOS app and compare it to the Facebook mobile website. How many hundreds of XMLHTTPRequests do you think it should take to render a page?

    There's nothing inherently wrong with the HTML5, it's their ludicrous network activity that kills the app.

  19. iOS 6 FaceBook support by Dixie_Flatline · · Score: 4, Insightful

    Given that Apple is integrating FaceBook support into iOS 6 (I've got it on my phone right now, and the 'post' button works exactly as advertised), it seems to me that this is probably being done in no small part because Apple is doing a bunch of stuff in Obj-C anyway. I have no idea what the FB API stuff is like (or even if it's available to devs like me) but there's clearly *something* going on under the hood.

    So Apple does some of the heavy lifting, and the FB programmers just piggyback off of it. At that point, why not switch?

  20. Re:Nothing wrong with HTML by 93+Escort+Wagon · · Score: 2

    They dropped Flash not due to "performance and battery" issues, but simply put that Flash would eat away at Apple's walled garden.

    Having experienced Flash on Android, I think you're mistaken. And the fact that Adobe basically gave up on making it useable on mobile devices supports Apple's stated position.

    --
    #DeleteChrome
  21. Re:The Thin GUI Line by AuMatar · · Score: 5, Insightful

    If 50% of your modules have GUI calls, you're developing your software wrong. MVC isn't just for webpages. If you have UI specific code in your business logic, you fail.

    If the GUI code is more than a tiny fraction of your overall code, you're working on absolutely trivial software. I can't say I've ever worked on a GUI app where the GUI itself was more than 5-10% of the code.

    Basically, there's two ways of writing cross-platform apps:

    1)Write your main business logic as a library. Then for each platform, write code that runs the UI and calls it as appropriate

    Pros: Can take advantage of all the features of the OS, and make a customized experience for it. Easy to fit in with design standards for the OS. Minimizes bugs due to differences in APIs and capabilities between platforms.

    Cons: May not be possible to write the buisness logic in this way, or may not be easy. May require ugliness in the business logic to do so. May be hard to maintain the line of abstraction between the two halves, depending on how the platform is implemented.

    2)Abstract away the UI and OS specific calls into a library, and implement them for each OS.

    Pros: Easy to do, with a little bit of discipline. It's always possible to do it this way, and *if* you can implement each API call so they act identically on all platforms then maintenance is a breeze and no ugliness in the business logic.

    Cons: Subtle differences between how platforms handle common APIs can cause bugs. Differences between how they handle less common APIs can cause major issues. Cannot take advantage of advanced OS specific features, may not be able to follow UI standards for each platform. You'll end up with features not working on some platforms if they don't provide a needed API.

    It's probably about a 50/50 split between the two paths (and I won't suggest a path, it really depends on your code and target platforms). But this is how it's done. And in either case, in fact in ALL well designed software the GUI is far separated from the business code.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  22. Re:what what what? by Vellmont · · Score: 2

    FB can afford to piss away money on a proprietary app now that they're a multi-billion dollar company. The vast majority of companies can't. I just don't see a huge resurgence of native apps replacing web functionality. Very few companies have the resources to develop for multiple platforms like that, and you really can't afford to just ignore android, or whatever else comes out into the mobile world in 5 years.

    --
    AccountKiller
  23. Re:Ask any game developer by Cimexus · · Score: 2

    Yeah that's true. But the iOS Facebook app is an exception, it's really just a frontend for an HTML5 site and it's super-buggy, slow and annoying. So I'm glad they are rewriting it.

  24. Re:Javascript vs. Jquery by bobv-pillars-net · · Score: 2

    You should write (or recommend) a tutorial called "JavaScript for Jquery developers" which shows the standard cross-platform-compatible JavaScript equivalent to the major JQuery functions.

    --
    The Web is like Usenet, but
    the elephants are untrained.
  25. This is exactly what Apple wanted. by tillerman35 · · Score: 4, Interesting

    Apple's formula for success under iOS:
    1. Control the hardware
    2. Control the software
    3. Make others do the work and because (1) and (2), you get to take a BIG cut of their business. No, not BIG... HUGE.

    Part of (2) is to not allow any development that might result in GOOD write-once/run-anywhere software. Backing HTML5 is a perfect example. The amount of effort required to produce a decent product is just plain insane. Even big companies like Facebook can't do it. Little companies don't even try. In the end, damn near everybody who tries to deploy an application that runs on an iOS device comes to the same sad realization: cough up the dough or go home.

    Products that actually worked, and worked well (e.g. Flash, Silverlight, etc.) were killed with feeble excuses like battery consumption and quality control. How the DoJ didn't launch an investigation into anti-competitive practices is a mystery to me. The "browser included in OS" investigation of Microsoft seems a pale shadow of the "you don't run software on iOS devices- despite the fact that their OWNERS want you to- unless you pay us a shiatload of money." /Bitter? You betcha.

  26. Re:Javascript vs. Jquery by narcc · · Score: 2

    Wow, that's lazy. So I guess you didn't have anything specifically in mind then?

    Let's start with the biggest one: selectors. Hey, that was the whole reason jquery was written, right? .querySelector and .querySelectorAll work in all major browsers and has had broad support for years.

    The most common case I see jquery abused is selecting elements by class name. Of course, most of the time it's used instead of a more appropriate solution, still, it's a popular use. .getElementsByClassName() has been around, again, for ages. For older versions of IE there is the ever popular "Ultimate GetElementsByClassName" function.

    Now, in place of these well-supported (yet surprisingly little-known) functions jquery gives you a bit of illegible code:

    Say you want all the elements with a particular tag contained inside another dom element.

    The javascript way, works cross-browser:

    var mystuff = document.getElementById("myform").getElementsByTagName("input");

    The jquery way, requires useless bloated library:

    var mystuff = $.makeArray($("#myid input")); // because $("myid input"); won't give you an array.

    The difference? One is obvious and readable. The other looks like Larry Wall's used TP and requires a bloated poorly-designed library

  27. Re:UI and OS abstraction library by AuMatar · · Score: 4, Interesting

    Nope, I'm going to stick by my original statement. In 11 years of professional development, the majority of which had a GUI in some shape or form- 10% is the highest I've ever seen, the average is probably on the order of 3-5%. GUIs just aren't that hard to write and don't really do that much.

    Using a 3rd party library can work as well- if your platform supports the toolkit you want to use, and supports it well. Swing last I checked was a nightmare that never worked the same on any two platforms. I'm going to assume it's been fixed, as it's been years since I've used it, but trust me, it was shit. Tk looks like shit on all platforms, it's an ugly UI. It's good for a quick one off, but you'll never see it in professional software.

    Then there's the question of what OSes you target. If you ever want to target a proprietary hardware OS, all of those get thrown out. They won't work, and porting them would take more time than rewriting by orders of magnitude. Nor would an OEM selling your stuff ever want to bloat the ROM with a whole QT library. And don't forget, until about a year ago the phone market was dominated by proprietary OSes, until Android came.

    Then there are the smartphone OSes- Android, iOS. They don't support any of those. So once again, you're back to not using them.

    And in the end, that's why you don't use them- because they aren't truly universal. Because you can't count on them being available on the next port. And the tiny cost to encapsulate the small amount of functionality you actually need is well spent to have the flexibility to say yes when an opportunity to port to a device for a few million comes up.

    Now if you're only porting to Windows, Mac, and Linux you're probably good with one of those libraries. Which are all those 3 run on.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  28. Re:About time by proxima · · Score: 3, Interesting

    iOS seems to have HTML5 local storage available, Facebook just chooses not to use it.

    This is definitely true. The Financial Times native app got replaced with a nearly-equivalent HTML5 "app". Safari asks for permission to store extra data locally, and then it generally feels pretty responsive (relative to other news apps, which in all honesty feel a bit bloated). I'm not sure how compatible it is with other platforms, though - it might have a bunch of really ugly ipad-specific hacks behind it, who knows.

    --
    "The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
  29. Re:Javascript vs. Jquery by bobv-pillars-net · · Score: 2

    In jquery, if I wanted to do something with each element with a particular tag contained inside another dom element, I'd do something like this:

    $("#myid input").each(doSomething);

    Or perhaps like this:

    $("#myid input").each(function(){$(this).doSomething();});

    In bare javascript I'd have to write a loop, either recursively or iteratively.

    Anyway, I don't see javascript libraries going away anytime soon. Bloated? Maybe. Useless? Depends on your point of view. If you're really dedicated to luring programmers away from jQuery, I suggest you write (or recommend) a reference such as I suggested. Otherwise, you're just making noise in an inappropriate forum.

    --
    The Web is like Usenet, but
    the elephants are untrained.