back to article Look, no client! Not quite: the long road to a webbified Vim

The most revolutionary aspect of all the changes that have taken place in web development over the last two decades has been in the web browser. Typically we think of web browsers as driving innovation on the web by providing new features. Indeed this is the major source of new features on the web. For example, Microsoft …

  1. Charlie Clark Silver badge

    Opera Unite

    Was probably the first server embedded in the browser. Was pretty interesting but there are all kinds of problems with putting a server in the browser.

  2. Kristian Walsh Silver badge

    " I'm not aware of any other development platform in which you can look at the code behind the app with the simple click of a menu "

    HTTP-induced myopia strikes again. Not a menu-click, but off the top of my head: Perl*, anything written in shell script, 8-Bit BASICs and Spreadsheets (you don't have to be online to be an application).

    I'm sure other people will chip in...

    * for Perl, no, that actually is the sourcecode. Yes, someone really did type that.

    1. Caesarius
      Thumb Up

      Re: Perl ... that actually is the sourcecode

      Perl pwned my eyeballs. It took a bloody good surgeon two days to unscramble my retina.

      1. Anonymous Coward
        Happy

        Re: Perl ... that actually is the sourcecode

        "Perl pwned my eyeballs. It took a bloody good surgeon two days to unscramble my retina."

        Heh. Although, more likely a really bad Perl coder pwned your eyeballs - it always did give you more than enough rope to hang yourself with in the readability stakes.

        1. Charlie Clark Silver badge

          Re: Perl ... that actually is the sourcecode

          it always did give you more than enough rope to hang yourself with in the readability stakes.

          I always understood Perl to be write-only? ;-)

          1. John Gamble

            Re: Perl ... that actually is the sourcecode

            I always understood Perl to be write-only? ;-)

            Sigh... yeah, Perl "golfers" have a lot to answer for. Like any language (well... maybe not COBOL), it's possible to write readable, well-commented code in Perl.

            For that matter, I seem to recall the write-only charge being leveled at C (not surprisingly, this was usually said by Pascal's adherents -- back in the day, they were quite numerous).

    2. Decade
      Boffin

      Who can forget Smalltalk? (Everybody. It was a long time ago and nobody used it.)

      I just saw an oblique reference on folklore.org, but Smalltalk was a graphical environment where everything on the screen was an object, and you could trigger a menu on any object to display its code. You didn't have to dig through the page's code to find the object of your interest.

      I was sad when the object-oriented dreams of the 1980's degenerated to the stream-of-text model of Unix and Windows. And Java is a very poor imitation of an object-oriented language. We're gradually rebuilding, but it's so slow compared to those days, and it's an uncomfortable fit on the Unix base.

      1. Kristian Walsh Silver badge

        Re: Who can forget Smalltalk? (Everybody. It was a long time ago and nobody used it.)

        I remember Smalltalk, but not at the time (I'm too young). A nice idea, but it was a bit too free-form for large applicaitons, and it made zero concessions to performance.

        Edsger Dijkstra's scathing comment about OOP ("an exceptionally bad idea which could only have originated in California.") was more about Smalltalk's approach of "just sit down and start coding until something looks like it's working" than the very clever ideas of data encapsulation and separation of function that it included.

        As for stream-of-text, isn't Microsoft PowerShell basically a command-line environment that uses objects instead of text streams? I've never used it, but the concept appeals to me (especially as about 40% of my shell-script code revolves around parsing the text output of other tools and scripts)

  3. Caesarius
    IT Angle

    Oh Jemima, look at your uncle Jim...

    ...scrubbing the floor with Ajax and Vim (1)

    And that is about as much reference to vim as I got in the article. Crushing disappointment.

    (1) Enough with the duck pond: this is the version I learned at my Grandma's knee.

  4. Tom 38
    Stop

    Just because you can code an editor using javascript and run it in your web browser, doesn't mean that you should.

    1. Graham 7

      Nope, you can code a full IDE in Javascript and run it locally using Node.js. Brackets - and it's actually pretty decent.

      1. Tom 38

        vim doesn't need to be re-written in a different language, it works perfectly as is.

    2. breakfast Silver badge
      Meh

      Just because you can do anything in JavaScript doesn't mean you should.

      One of the things you can do in JavaScript is make it behave a little like a well-thought-through and usable language, but the effort is non-trivial. This is one reason I find Node so baffling- why are we taking the one of the most irritating languages around and putting it on the server rather than dedicating some effort to picking one of the many excellent languages that exist already and making it run in the browser?

      1. John Gamble
        Boffin

        Instead of Javascript

        ...why are we taking the one of the most irritating languages around and putting it on the server rather than dedicating some effort to picking one of the many excellent languages that exist already and making it run in the browser?

        Because Ryan Dahl got there first. Less flippantly, because it's easier to write a language for a server than it is for a browser, and even if you manage it, there's still the question of getting the browser makers -- a dwindling number, but still more than one -- to adopt your language.

        We're sort of approaching your scenario -- if you view js as something to compile to, instead of a language to develop in, then emscripten is doing good work, and my current programming interest, coffeescript, has cleaned up a lot of js flaws (although not the '+' operator flaw, alas).

      2. Nolveys
        Thumb Up

        Script tag *does* have a type field.

        > pick one of the many excellent languages that exist already and making it run in the browser?

        I dream of the day that '<script type="text/python">' is supported.

  5. BlueGreen

    @Author - Again with the fancy web dev stuff

    Very exciting, deeply cool, so much you can do with the new toys.

    Now, how do you do the really boring stuff like protect the user from browser-delivered malware? Sorry to be so dull but this stuff matters.

    (oh, and BTW gmail works fine without jscript. And any reason to call web front-end for email a 'complex web app'?)

  6. Anonymous Coward
    Anonymous Coward

    If you hate Javascript, you'll love Dart.

  7. Alister

    Why bother?

    I really, really don't get this.

    The web browser is a client application for viewing web pages. The vast majority of users of web browsers don't want or need development tools built in, and it just adds to the bloat and slows the browser down.

    Firebug is a great diagnostic add-on tool for tweaking CSS or finding obscure errors, but why try and use it as a development tool?

    If you're a developer, then either use an IDE, of which there are hundreds (why only mention two of the worst, Dreamweaver and FrontPage?) or just use a text editor (with syntax highlighting if you want), a browser and a local instance of a server.

    Is that really too complicated for the modern web developer?

    1. Rob 103

      Re: Why bother?

      You can't see any benefit, at all, for providing these debugging tools directly in the applications that are used to deliver the content?

      1. Alister

        Re: Why bother?

        You can't see any benefit, at all, for providing these debugging tools directly in the applications that are used to deliver the content?

        Not when it turns what should be a client application into a full-fat development environment, no.

        As I said, Firebug is useful, but I wouldn't want it switched on all the time, or built into the browser without being able to disable or remove it - which is what the OP seems to be suggesting.

        You wouldn't expect a desktop or mobile app to also include there own debugging environment would you? so why hinder a web browser with it?

    2. Adam Connelly

      Re: Why bother?

      Essentially, because the browser is also the runtime.

      Now I don't agree with the assertion that the browser should always be the entire development environment, but you certainly need development tools in it. The reason for that is because the browser also runs the client side code, so the only way to debug the code is inside the browser. Therefore you need a debugger inside the browser, or you need to have the ability to run the browser's Javascript engine outside of the browser in such a way that you can debug it using the IDE of your choice.

      Anyway - it's kind of a moot point. Modern browsers have development tools built in, and the vast majority of users have absolutely no idea that they're there since you typically need to actively do something to access the tools.

    3. Anonymous Coward
      Anonymous Coward

      Re: Why bother?

      > If you're a developer, then either use an IDE, of which there are hundreds (why only mention two of the worst, Dreamweaver and FrontPage?

      Ok, so why don't you mention two of the best, out of those hundreds?

    4. Adam Inistrator

      Re: Why bother?

      because breaking into and stepping through code examining variables etc etc is the fastest way to debug any code ...

      and a personal rant about a valuable feature missing from all the current in-browser debuggers - visual studio (but not the free express versions) also allows changing the "current" line to step from a different line. this enables much richer debugging of tricky issues by allowing restepping through code, say after changing local variables, without having to restart from the beginning

  8. -v(o.o)v-

    With today's complex dynamic websites I do not see a browser becoming a Web server (with PHP, rails or even more complex languages) and a database server so that you could just point it to a directory.

    But one can dream, yes.

    1. ScissorHands

      That was the big limitation of Opera Unite - it only supported static pages. This meant that most interesting projects that you might want to have inside Opera Unite couldn't be made to work.

  9. Fungus Bob
    Unhappy

    This is fine and dandy for browsers on the desktop but..

    ...there are still plenty of e-commerce and banking sites that puke up their guts when you try to do anything useful with them from a smartphone or tablet.

  10. ElectricRook
    Linux

    but can it read emails?

    We used to say that every editor will advance until it can read email

  11. minnsey231
    Windows

    Visual Studio Web Essentials to the rescue?

    A little back to front compared to the gist of this article but Visual Studio's Browser Link lets you push changes from your source code directly to your browser under test and push changes made in the browser's dev tools back to the source code.

    The demo is impressive, though to be fair I've yet to find a reason to use it.

    http://vswebessentials.com/features/browserlink

  12. Anonymous Coward
    Anonymous Coward

    Chris Pederick's web developer toolbar for Firefox

    Don't forget that. Pre Firebug it was my tool of choice and is still very handy

    http://chrispederick.com/work/web-developer/

  13. Anonymous Coward
    Anonymous Coward

    browserlink.vim

    A vim plugin which causes the browser to update the page live on write or upon leaving insertion mode.

    https://github.com/jaxbot/browserlink.vim

  14. Astara
    FAIL

    Linked-examples broken: not web-based examples, but 'chrome'-based apps. :-(

    I want to try some of the examples linked to, but i was told that they were not *WEB* apps, but Chrome Apps. tat I was told I would need a **special** interpreter (Chrome) to run these apps and that I should _NOT_ expect these "web apps" to run on any other web-platform (FF, Palemoon, IE, etc...).

    So how are Chrome-specific apps Web-Apps?

    You'll need better examples of web-apps than simply those that are Chrome-only.

    Reminds me of the "good-old-days" of MS having their own web-standards that only worked in IE...

    Lovely. Certainly don't need another monopoly with Google replacing MS.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like