In the past, application development had more of a specialized focus. Programmers focused on a single language (like COBOL, RPG, C++, etc.), and built applications with that language.
Now, that’s changing. The web doesn’t allow for a single focus. Rather, a modern web application developer is something of a “jack-of-all-trades.” They must understand the development aspects, but also understand web app security vulnerabilities, how it integrates with other services, and more. To further complicate things, they must even understand how their applications function on tablets and smartphones.
In other words, web application development is quickly becoming more complex. It requires an ever-increasing, and ever-evolving skill-set.
What skills must modern web application developers now possess? I’ve solicited input from a few experts in the area, and compiled their advice (as well as some of my own) below. Here are 6 of the most important skills that web application developers must now have:
In the past, businesses installed their applications in-house. The applications stayed behind a firewall and couldn’t communicate with third party services or applications. These days, modern web applications might integrate with other services, reside on a cloud server, or be accessed from multiple device types. As such, the need for secure applications grows.
“As a former application (web/desktop) developer, one of the most vital skills any webapp developer should have is a solid understanding of application security,” says Stephen Jensen, Principal Security Consultant at Veracode. “In today’s world, we are inundated with news about security breaches that expose millions of people’s sensitive information. A web application developer must know how to prevent common vulnerabilities, such as Cross-Site Scripting (XSS), SQL injection, etc. It’s an essential skill that all developers should learn in order to ensure the applications they create are secure against malicious attacks and designed to protect the potentially sensitive information of their customers.”
2. User experience (UX) design
“Due to the growth of mobile devices and the ever increasing interactions a customer has with each brand, it is vital that developers have a solid understanding of user experience (UX) design,” explains Michael Smith, CEO of Raster Media. “Gone are the days when the design team alone was responsible for the user experience of an application. Developers have to consider interactions, animations, speed, and communication of the apps they develop.”
I completely agree, and see the importance of UX design driven by a couple of factors. First, user expectations have risen. These days, users download a new app and instantly understand how it works. They expect the same from their business applications. Second, users now have options. If they don’t like your application, they’ll find one that they like. As user expectations rise, and competition increases, the need for intuitive interfaces becomes more important than ever.
3. Adaptive/Responsive Design
Taking the UX design point one step further, web app developers must now build applications that work everywhere. The question is no longer, “How will users interact with my application?” Instead, it becomes, “How will users interact with my application on each device type?”
It’s not easy. You’ll have to answer questions like: Where will the buttons go on a smartphone? How will you format your data tables on a smaller screen? What happens when the device switches from portrait to landscape mode? In short, web developers must now understand design methodologies that let web applications adapt to varying screen sizes.
Like what? The two main web app design approaches for cross-platform/device design are responsive and adaptive design.
- Responsive design uses fluid grids and CSS3 media queries to adapt the app to various screen sizes and types. You can find examples of responsive design across the web, as it’s widely used in web site design. For instance, TheNextWeb site is a great example of a responsive site. You’ll notice that if you resize your browser, the site changes to fit the new size.
- Adaptive design delivers a different HTML page depending on the device. For instance, a single web application may have 3 separate presentation (HTML) layers: One for PCs, one for tablets, and one for smartphones. Logic placed in the application identifies the user’s device and displays the correct layer. For example, visit this web app from different devices and notice how it looks and acts different.
Which approach is best? I’d say they both have their place. The responsive approach works nicely for web site design and informational web apps, while the adaptive approach works better for data-driven web apps…especially those that contain data tables. Why? It gives the developer more control over the table’s structure and format. Rather than try to adapt a single table to multiple screen sizes, the adaptive approach lets you create different tables specifically built for each device.
5. Web Application Architecture
On the web, application architecture becomes more important than ever. Application architecture is directly responsible for your application’s scalability, flexibility, and the its ability to integrate with other web services and applications. These days, developers need a solid understanding of web application architecture if they hope to create useful, sustainable applications.
“Web application developers should be giving adequate attention to web application architecture,” says Tyler Wassell, Software Development Manager at mrc. “The developer should understand how the application being developed interacts with all components of a system and also how the underlying architecture will affect things like portability, maintainability, and usability now and in the future.”
6. API Integration
With the rising number of web services, Application Programming Interfaces (APIs) have become an important aspect of web development. Essentially, APIs let different web services communicate with each other. They let developers build applications that include data from other applications and services.
“API Integration has truly become a must-have skill for the modern web application developer,” says Brendan O’Connor, founder and CEO of SimpleCollegeRecipes.com. “In the past few years, API’s have really taken off in the world of online start-ups as well as established businesses. In its most basic form, an API allows you to integrate content and information from other websites. API’s have come to benefit everyone involved, including the end users, the API providers, as well as the programmers themselves.”
Web application development is constantly evolving, and the skills required for web development are constantly changing. As I recently predicted, we’re seeing an increased push towards development tools to combat this new reality. After all, keeping up with every skill needed for web (and mobile web) application development is nearly impossible, and most companies can’t afford to bring in separate employees to handle every different aspect of web and mobile development.
How about you? How is your company addressing the growing complexities of web app development?