Coffeehouse Thread

75 posts

I can't believe how much web programming has changed

Back to Forum: Coffeehouse
  • User profile image
    Sven Groot

    I've been toying with the idea of reworking my website, not because I use it particularly often, but because I wanted to have a not too complicated programming project and look at some of the technologies that I've not had any time to keep up with in the past few years.

    When I originally designed my site, IE6 support was still a real consideration. Which meant no transparent PNGs and no CSS niceties like max-width. While AJAX existed, the built-in support in ASP.NET was quite bad (if you recall, it was centered around sending full HTML components). JSON was not in common use yet, so I ended up writing my own custom AJAX library built around .asmx services and client-side XML parsing (which was lots of fun considering IE is the only browser that reliably implements XPath so I couldn't use that). JQuery was still years away.

    Now though, I'm using ASP.NET MVC 4, EF5, HTML5, CSS3, jQuery, Modernizr, knockout.js, and Zurb Foundation. And I can't believe how much this has evolved. Now, if you've got a requirement for the site to look and feel the same on older browsers (particularly anything before IE9), I think you're going to be in a world of hurt. But if you have the luxury of being able to target the modern stuff, it's really amazing how much better things are now.

    The various javascript frameworks are taking care of most of the cross-browser woes that I previously had to deal with myself. I've barely had to write any javascript yet, almost everything that I previously did myself now exists in library form. I'm even getting a whole bunch of new features, like responsive layout.

    I'm really enjoying working with MVC 4. Razor is by far the nicest server pages syntax I've ever used. It's extremely clean, far more readable than regular ASP.NET or the atrocity that is PHP. It's also much easier to generate clean markup than with Web Forms, and the integration of the javascript frameworks is very nice too. The amount of code I actually have to write seems less than a tenth of the old .aspx pages, for the same effect.

    When I last did serious web development work, I used VS2005, so I'm not sure how much of what I'm using now is new to 2012 or existed before. But the javascript support is 1000x better than I remember it being before, as is the HTML editor itself (little touches like how it changes the closing tag if you edit the opening tag). And the page inspector is awesome, especially the way it dynamically updates the view when you're editing a CSS file (would be nice if it could do that for .cshtml files too, but I understand why that would be hard).

    It's also very helpful that for nearly everything I've needed so far, I could just easily find it with NuGet and drop it into the project with minimal effort. It makes it much more painless to use all the different libraries.

    So yeah, I'm impressed how far this has come. I'll never become a huge fan of javascript and will always do something in C# if I can, but it's a lot better than it used to be. I can only hope that legacy browsers will at some point die out completely, and web development might actually be fun for more than the odd project every N years (because I sure as hell still don't want to do this for a living Wink ).

  • User profile image
    MasterPi

    @Sven Groot: Welcome to 2013. Smiley

    Glad to see you're enjoying modern web dev. I've been using WebAPI and Knockout for a lot of projects - you really feel as if you have to do a lot less plumbing these days to get common stuff to work. I agree with you, though...there's no way I would do primarily this for a living.

  • User profile image
    itsnotabug

    it is pretty amazing compared to how it was not too long ago.

    i like the option to now use chrome as debug browser with the live css toggle options/previews. also check out twitter bootstrap for fluid, responsive layouts that look good on tablets, desktops and phones. the framework is pretty amazing and easy to wrap your head around.

  • User profile image
    kettch

    It's actually pretty amazing how the UI frameworks manage to degrade gracefully in the presence of older browsers.

    @itsnotabug: We've been using Bootstrap, and it is indeed very nice. There's some collision between Bootstrap and jQueryUI, but with a little help from https://github.com/addyosmani/jquery-ui-bootstrap things seem to be going pretty smoothly.

  • User profile image
    JoshRoss

    @kettch: Or you can bypass jQuery UI and go jQuery mobile. I find that if you target phones and tablets, then the desktop users can work with it. But the other way around stinks.

    -Josh

  • User profile image
    Bass

    Indeed. Modern web technology is awesome.

  • User profile image
    kettch

    @JoshRoss: That's an interesting thought. We don't have anything that targets mobile devices, so it's not come up.

    Now I'm wondering why they haven't merged the two. With all of this push towards responsive design, there shouldn't be two UI frameworks. Dare I say...there can be only one.

     

  • User profile image
    JoshRoss

    @kettch: The biggest challenge with mobile is getting the first screen painted within a hundred milliseconds, and then AJAX loading everything else while the user isn't paying attention.

    After that, it's keeping stuff out of the DOM. If you want to kill a mobile site, put lots of stuff into the DOM.

    While you're building your site / app, check the checkers like modern.ie and page speed insights.

    Also keep your eye on Steve Sanderson.

    -Josh

  • User profile image
    fanbaby

    Sven, I'd suggest you open up, and avoid what I call the Microsoft ghetto. I'm not talking about server-side technologies here, use ASP.NET AND C# as much as you want (you're only hurting youreself Wink).

    I'm talking about the disconnect Microsoft developers have with current client-side libraries/frameworks and JS tools in general. I think they still need the nod from mother Microsoft in order to use anything, and god forbid they use anything from arch-rival goog. 

     

    I think things are so bad that a special web conference was created just for them (!?).

     

    For me it's plain that a revolution is unfolding before our eyes. One that's bigger the last revolution. The last one being the one that standardized the OS and its API, (settling on POSIX of course).

    If one belittles the web stack and open source, he/she just missed the TWO most important things that came from computing recently.  

  • User profile image
    kettch

    @fanbaby: It's all about productivity. I can load up an ASP.NET MVC template (all open source, by the way) and with a few Nuget commands end up with everything from the latest version of jQuery to any number of other open source packages.

    POSIX? Are Android and ChromeOS POSIX compliant?

  • User profile image
    fanbaby

    @kettch: I meant server OS, since the year of POSIX on desktops hasn't arrived yet Smiley

    EDIT: Unless you're talking developers, 96% have POSIX machines.

  • User profile image
    C9Matt

    , fanbaby wrote

    If one belittles the web stack and open source, he/she just missed the TWO most important things that came from computing recently.  

    The webstack is still a mess.

    And most of what people actually want in a day still comes from proprietary applications. Sure there are open-source equivalents to things like Office - but who actually uses stuff like Open Office and Google Docs other than their parent company and tech enthusiasts?

    And is Google or Facebook or Twitter (or let's face it Mac OSX or all of Android or all of Chrome) open-source? Nope. Didn't think so.

  • User profile image
    fanbaby

    @C9Matt: What do you think will be remembered out of our time? Win32 API? XAML? WinRT? Apple's Cocoa and objtive-c? Microsoft business model and huge profits?

  • User profile image
    Sven Groot

    , fanbaby wrote

    Sven, I'd suggest you open up, and avoid what I call the Microsoft ghetto. I'm not talking about server-side technologies here, use ASP.NET AND C# as much as you want (you're only hurting youreself Wink).

    I'm talking about the disconnect Microsoft developers have with current client-side libraries/frameworks and JS tools in general. I think they still need the nod from mother Microsoft in order to use anything, and god forbid they use anything from arch-rival goog. 

    That seems like a rather weird statement. Not only does the default ASP.NET MVC include jquery, modernizr and knockout, VS2012 actually supports knockout's data-bind attribute and provides some autocompletion for it. Not to mention that pretty much any other library or jquery plugin you need is only a few clicks away with NuGet.

    So it looks to me like the current generation of MS web tech has fully embraced the modern client-side libraries. Not to mention that ASP.NET itself is open source as well.

    I'd say at least 90% of the perceived improvement in web development for me comes from the tooling. The fact that I don't have to go hunting the web for libraries and then figure out how to integrate them into my stuff is invaluable. And JS intellisense actually seems to work pretty well in this version, which helps a lot.

  • User profile image
    fanbaby

    , C9Matt wrote

    *snip*

    The webstack is still a mess.

    *snap*

    Suppose you are right (not saying you are, but you do have a point there), still that mess of a jumbled heap of disorganized half-assed standards is the most important thing to have happened in recent memory, and is a 100% must learn/must teach technology. 

    It reminds me what some people say of science. They say that scientists don't know much (which is true) and that they change their mind (true again) and that - can't recall what else they say. But my answer is always is that while not much and still in its infancy, science is our only true possession. Now that I think of it, science == open-source.

  • User profile image
    PeterF

    Anyone remember Visual Interdev? Building up your HTML elements in VB opposed to databinding nowadays is a night and day difference! Smiley

  • User profile image
    Sven Groot

    , fanbaby wrote

    *snip*

    Suppose you are right (not saying you are, but you do have a point there), still that mess of a jumbled heap of disorganized half-assed standards is the most important thing to have happened in recent memory, and is a 100% must learn/must teach technology. 

    Sure, the web is what will be remembered more than any of the other things you mentioned. But it achieved all that in spite of the technology, not because of. Just about everything about the Internet (right from TCP/IP itself) is of the level "does its job, successful because it got there first, could've been way better".

    Now that I think of it, science == open-source.

    As a scientist, I can't even begin to fathom how you're making that comparison.

  • User profile image
    evildictait​or

    , fanbaby wrote

    science is our only true possession. Now that I think of it, science == open-source.

    WTF? Moving on...

    Sure, social is new and whatever, but swooshy GUI HTML5-ish applications have been on the desktop for at least 15 years now (we called them "applications"), and most of the other websites are just faster and more convenient glorified catalogs or blog-o-twits giving their opinions to the nobody that cares on the Internet.

    Don't get me wrong - the Internet is a big revolution (also: please don't mistake the Internet for the web - the Internet stack is pretty innovative, fast and well designed. The web on the other hand is utter crap - HTTP, HTML, Javascript and CSS have been holding back the web for literally years). 

    Don't confuse the difference between now and twenty years ago as being mainly "because of the web". It just isn't. It's mainly because of Windows making computers easy to use and affordable and in your living room in the 1990s and Apple putting a supercomputer with Internet connectivity in your pocket in the 2000s.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.