O'Reilly logo

O'Reilly School of Technology

Questions? Call 707-827-7288

Live Chat Log In

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.