Slashdot Mirror


Chrome Is the New C Runtime

New submitter uncloud writes "Cross-platform app development is more important than ever. But what about when you need the features and performance of native code, across platforms? And you're a startup with a small team and impossible deadlines?" His answer? Take advantage of cross-platform Chrome. From the article: "Out of necessity, the Chrome team has created cross-platform abstractions for many low-level platform features. We use this source as the core API on which we build our business logic, and it's made the bulk of our app cross-platform with little effort. Most importantly -- Chrome code has been battle-tested like almost nothing else, with an installed base in the hundreds of millions. That makes all the difference when you want to spend your days working on your company's business logic instead of debugging platform issues."

8 of 196 comments (clear)

  1. And also... by serviscope_minor · · Score: 5, Interesting

    From TFA:

    Unless you are building your app for Windows 3.1, chances are that you want to talk to a server of some kind.

    Why does everyone assume that everyone else is doing stuff exactly like them? For work I don't think I've ever written code that makes any kind of network calls.

    In fact the main reason for me not to use any of the "highly optimized interfaces" they provide is that professionally none of them are of the slightest bit of use to me. It's interesting but there are more programs in this world than web-2.3.1-rc4 apps for phones.

    --
    SJW n. One who posts facts.
    1. Re:And also... by maxwell+demon · · Score: 5, Funny

      Unless you are building your app for Windows 3.1, chances are that you want to talk to a server of some kind.

      That's true: Sooner or later I get hungry, so I'll go somewhere to eat and ask the server to give me some food.

      --
      The Tao of math: The numbers you can count are not the real numbers.
  2. Mozilla NSPR by abies · · Score: 5, Interesting

    I have a strong feeling of deja vu - I have heard same pitch about Mozilla NSPR (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR). Same thing - base library for many platforms, which is very well tested, developed for the needs of browser coding, but not really tied to hmtl rendering in any way.

    So, assuming I want to be hipster should I:
    - use NSPR, because it was available before reusing browser base libraries went mainstream
    or
    - use Chrome library, because really cool guys use Chrome rather than Firefox
    ?

  3. Re:Bloat. by gbjbaanb · · Score: 5, Insightful

    someone didn't read the article....

    firstly they aren't using Chrome as a platform, they're using the libraries that Chrome uses to build their apps, also that the chromium dev kit lets you specify which libraries you want to use, and thirdly they're using C++ to build their code so the bits they don't use just don't get compiled into the final program. And of course, they're using c++ instead of some crappy bloated other system that comes with every manner of crap already installed in the language or an interpreted mess that is bloated to hell anyway.

    So tell me, what's so wrong with their approach - using cross platform libraries that just happen to be written by the Google boys?

  4. Jesus Slashdot by gbjbaanb · · Score: 5, Insightful

    this is worse that usual, I read the article (well, skimmed through it) and all the guy is saying is: Chrome is built on some libraries that you can pick and chose and build your own programs using. So if you need a http server or xml lib or any other of the myriad bits that Chrome needs, there's a nicely set up way of getting all those for free, and cross platform. Then he describes the library-picker tool and how it can create project files for various platforms to make your life easier.

    But all the comments in /. are:

    why would you build it on big old bloated Chrome (I assume the browser);

    but that's what java was designed for;

    but that's way bigger than libc;

    So google now want us to write plugins instead of HTML5

    and so on, no-one really got what the article was about, thinking its somehow building programs inside Chrome, or using Chrome as a kind of new webkit.

    Pathetic. I blame the editoral summary TBH, but the kids here just got to a new low in not RTFA.

  5. Re:Bloat. by Anonymous Coward · · Score: 5, Insightful

    Why is that "-1, Flamebait"? For crying out loud, he's one of the only posters to correctly identify the facts in this story:

    - It's the general, lowest-level libraries of Chrome that are being discussed here, not the Chrome browser itself.

    - C and C++ do have a superior compilation and linking model, limiting the inclusion of unused code.

    - C and C++ do offer huge performance benefits over Java, Ruby, and JavaScript.

    - C and C++ apps don't require huge runtimes like the JVM, a Ruby interpreter or a JavaScript interpreter.

    - C and C++ do offer superior portability. Their code runs just about everywhere you can imagine.

    Mod the parent up. He's one of the few who isn't spewing bullshit in this story's discussion!

  6. Re:It makes sense by CdBee · · Score: 5, Funny

    the real trick is to start chrome browser, start Fabrice Bellard's javascript x86 virtual machine in Chrome, start Chrome OS on the VM, start Chrome on Chrome OS, then once you've got an infinite software defined hardware loop running, just unplug the physical hardware and put it away

    --
    I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
  7. Re:Bloat. by Anonymous Coward · · Score: 5, Insightful

    You're making several blatantly incorrect assumptions:

    1) You're incorrectly assuming that the two or more apps are using the exact same shared libraries. This is not necessarily true. Many apps have their own private copies of such libraries, preventing such sharing.

    2) You're incorrectly assuming that the apps are linked against the same version of the library, even if all of the library files are publically shared. If they're using different versions of the library, then sharing won't occur.

    3) You're incorrectly assuming that the app or apps haven't been statically linked, which again prevents sharing of common code between distinct applications.

    4) You're assuming that Chrome or some other app has already provided these common libraries. That very likely isn't the case. The Chrome binary was nearly 100 MB last time I checked, so it's likely that this core code is already linked in to the Chrome executable and not shared.

    Nice try, buddy, but please know what you're talking about before you start talking about it.