O'Reilly logo

O'Reilly School of Technology

Log In

Call 707-827-7288

Live Chat

Four Hot Web Development Trends Learned at Conferences

Full-Stack Web Developer Talks about the Latest Web Development Trends and Conferences

I’m finding that participating in tech conferences is a great way for me to keep up to date on modern web development trends. I attended my first OSCON last summer and more recently, I attended O’Reilly’s Fluent 2014. Here are some of the trends that are most relevant to my work as a full-stack web developer:

1) Full-stack JavaScript development is the hot new thing.  Of course, there’s an endless stream of hot new things, and they don’t all grow up to become mainstream web development technologies, but I’m betting that the rise of server-side JavaScript is just beginning and it will become as popular as any other server-side language in the near future. There are technical advantages to using something like node.js, but I think full-stack javascript development will continue to gain in popularity largely because it’s so nice to write in one language, both server-side and client-side. Rather than writing an application in say, JavaScript, PHP, and MySQL, it’s now possible to write entirely in JavaScript. This decreases cognitive demand on the developer due to constant language paradigm shifting, which frees up mental resources and allows me to focus on application development instead of technology wrangling. That may not sound like a big deal, but as an active developer, trust me–it’s a much better way to work.

At O’Reilly School of Technology, we’re in the process of rebuilding our website and course delivery platform with node.js on the server and Angular.js client-side (it’s currently a PHP/MySQL system), and I can honestly say that I enjoy my job much more now that I’m working with JavaScript client-side and server-side.

2) Speaking of Angular.js, single page applications (SPAs) are also an up and coming trend.  Why reload the entire page every time you navigate to a different section of a website? It’s much nicer to use a website that acts like a desktop application, only updating the relevant views as you interact with it. Also, independent of actual performance, it creates the perception for the user that the site is considerably faster than a traditional-style website. Moving state to the client is a different development paradigm, and there’s a bit of a learning curve that comes with it, but I don’t think it’ll be too long before clients and customers will demand SPAs across the board.

3) Mobile development continues to gain steam. It amazes me how many well-known companies still don’t have mobile-optimized websites, yet various estimates suggest that currently more than a quarter of all website visits originate from mobile devices, and that share will increase to more than half of all visits by 2017. Whether you’re making a website or app responsive, or building a separate mobile-optimized version of it, it’s vital to make sure it works well on mobile. Have a look at this slot machine website to see how a website should be optimised for mobile as well as for desktop devices. That slot machine website is a great example of the latest trends.

4) Modern, efficient web development is all about using tools. We learn programming languages to get started, but the bulk of a developer’s education is devoted to learning to use generators, dependency management tools, frameworks, libraries, APIs, and so on.  There are more new web development tools than ever now, and they can save much development time, as well as increase code quality.

Reviewing just the most popular of these tools would warrant its own blog post, so for now I just recommend that you do some exploring. To get started, if you’re still not using a css framework like LESS or SASS, a build tool like Grunt.js, a generator like Yeoman, a client-side dependency manager like Bower.js, node.js on your server, html5 boilerplate, jQuery, a client-side framework like Angular.js, or a javascript-based database management system like MongoDB — I highly recommend checking them out.

There are so many great tools available to us — read web development articles and blogs, research tools when you hear about them, and if you get the opportunity, go to conferences.

  • Doug Steinberg

    Great article! I’m hearing more and more that javascript is taking over the world.

    • Sean Crawford

      Thanks Doug!

  • Matt Roberts

    JavaScript’s market share as a language for serious development has certainly grown over the last few years, especially with the advent of Node.js. It’s certainly new and exciting. I’ve personally written a handful of applications using Node, including the beginnings of the in-house web application you mention in your post. You talk a lot about what the hottest trends are, but why do you think full-stack JavaScript development is the future of web applications?

    To begin, it looks like Angular dropped support for IE8 with their 1.3 release (http://blog.angularjs.org/2013/12/angularjs-13-new-release-approaches.html). Right out of the gate, you’re denying access to about 25% of the market to your application (http://www.netmarketshare.com/browser-market-share.aspx?qprid=2&qpcustomd=0). Of course, in an idyllic world, we could all demand these Luddites get with the times and update to a modern browser, but the unfortunate reality of the situation is that some folks just can’t. Complex IT infrastructure of large companies often enforce strict security policies that prevent their employees, some of whom undoubtedly use OST as a training resource, from upgrading. A fairly narrow example, to be sure, but a consideration nevertheless. The addition of any technology to a project is going to cost resources and that should be weighed against the needs of the application.

    As for learning tools, I agree that keeping on top of what’s new is a measurable percentage of the job. As I said above, though, before taking advantage of them, they need to be evaluated in the context of what your application needs. What’s a CSS framework and why do I need one? Why do I need to manage dependencies? More importantly, what does that even mean? Who is this Mongo? While I can appreciate wanting to espouse technology you find interesting, doing so without concern for what you’re trying to accomplish is only going to make things more complex than they need to be.

    Which is really my point after all. Modern, efficient web development isn’t really about trends or what’s hot right now. That informs a lot of decisions, yes, but it can be a slippery slope. Modern, efficient web development is about building manageable software that can interact with other applications in interesting ways and constantly updating that software to enhance user experience. The tools you mention can definitely speed up that process, but you need to have a clear vision of what you want to accomplish. Without a clear vision, you can end up tacking trend after trend onto your project until it becomes an unmanageable nightmare.

    • Sean Crawford

      The word trend can be used at least two distinct ways: one, in the context of pop culture, referring to what’s in vogue, and the other, in the context of business and industry, referring to an observation of a pattern or the direction things are moving. I realize the title of this blog is a bit misleading, because “hot trends” sounds more like the pop-culture sense of the word (disclaimer: my editor titled the piece 😉 But, I’m using “trend” in the business and industry sense.

      Also, to clarify, I didn’t say that I believe full-stack javascript development is the future of web-development, just that server-side javascript will become at least as popular as any other server-side language. As for why I believe this, it’s just like any prediction–it’s my assessment of everything I’ve been reading in articles, hearing dev speakers speak about, and from talking to other developers and my own experience in working with various web technologies.

      I agree with your sentiment that it’s important not to adopt a new library or framework just because it’s the hot new thing, but that doesn’t dismiss the reality that many of the hot new things are very useful. That’s why they’re the “hot new thing” 😉 Once you’ve used LESS or SASS and see how much code duplication and dev time it saves, why wouldn’t you use it? It adds no page weight and is very simple to learn. Why use dependency management? It’s a productivity tool that greatly simplifies a project. Once you’ve used npm or bower.js, why would you consider not using them (in any substantial project)?

      As for Angular.js, we’ll be sticking with version 1.2 until we don’t need to support IE8, which may be a while, but I don’t see a problem with that. Angular 1.2 offers enough usefulness as it is. There will always be new, cutting edge versions of web technologies coming out, and we don’t have to use them all right away.

      • Matt Roberts

        I believe you may have missed my original point. I had hoped to start a discussion regarding these technologies. What their benefits are and what pitfalls one might encounter. I looked at it as an opportunity to engage more folks at OST and those who visit the blog, the programming community really, to really dig in to these technologies. Rather than deferring the writing of the other post, we could do it in the comments. At least, that way, readers could draw their own conclusions from our conversation. Why send someone away from here to educate themselves when we can do that? This is, after all, an educational institution’s blog.

        I’ll start. Why do you think these technologies indicate trends towards more server-side JavaScript development? Your stance on full-stack JS development as it pertains to cognitive space seems to indicate it’s easier for you to grok an application written in a single language (please, correct me if I’m wrong here). How does that affect which tools you choose to use and which one’s you don’t use? How does it affect your approach to separation of concerns?

        • Sean Crawford

          You’re right, I didn’t realize you were suggesting we go into detail about these technologies here in the comments. I don’t see it so much as sending people away to find out more – the internet is an ecosystem and it’s good to travel around. There are already so many good articles about javascript development, and I have constraints on my time. My goal with this post was just to bring awareness to a trend that I’m excited about, then encourage readers to learn more on their own.

    • iampatgrady

      Update or die.

      but srsly, the sooner we ignore IE8 users the better off we all are.

  • john

    Yeah I know. Java script is beneficial to develop any website and we can check any validation using java script and we can’t create site without using java script. Maybe, that’s effective reason of java script is
    efficient to other any language.

    web development company

  • http://www.einsteinseyes.com Joe Dallas Website Designer

    Glad I just found this article. I know Google is suppose to have this way to glean out everything it needs about single page apps, but I usually don’t see that. I am just concerned about SEO.

  • webguy

    For nearly 20 years I have been coding on the web and the first language I learned was JavaScript, so I think I am in a position to politely disagree with this statement… “Modern, efficient web development is all about using tools”.

    1. They don’t save time in the long run
    2. They often tie you in
    3. Loss of flexibility, and the ability to adapt to change
    4. Dogmatic
    5. Don’t play nice with competitors or other technologies
    6. Generators are more evil than good, a shortcut quickly becomes an inflexible unmanageable beast over time, and you could pay for it in maintenance time down the line when its too late

    Tools, platforms, frameworks rise and set like the sun, here today gone tomorrow, and if anyone is listening pay attention to this fact, direct your learning top down, learn to drill down to the base API, understand the raw language, drill down and learn the actual language, and see the framework for what it is, something transitional, unstable and short to medium term that WILL be replaced in time.

    Good programmers can pick up any framework in a short time because they have decent understanding of the underlying language. So modern efficient web development is not all about the tools, its about what it always has and will be about, and that is embracing the concept of ‘living code’ understanding how to manage change, selectiveness, and how to establish your baseline skills that will never become redundant, and use frameworks and tools etc in a transitive way.

    • licity

      Great comment! I have been coding on the web for about 6 years now and also start to see the same pattern. It’s hype after hype, tools come and go all the time.

    • jp

      It probably depends on the framework. Some frameworks are pretty long lived. And the web itself as a platform has improved and is still here.

      I think a tool that doesn’t save time in the long run should be identified early and not used in the short term either. Grunt is positioned specifically on saving time/effort. A concat task will save time and have little or no maintenance once set up. And Yeoman is only as evil or good as its user’s knowledge of the generator in use.

      You are spot on about good programmers being able to pick up frameworks and tools. Those things will never replace that central skill, for sure.

    • kScottThomas

      Exactly! I have been doing the programming gig since…. well we won’t say but you are correct webguy. You said it much more eloquently than I could have.

  • http://www.mobilepundits.com/ Peter Parker

    I hope these trends are also more relevant for developers and also user friendly for new developers.

    Thanks for sharing!