Executive Insights on the Current and Future State of Web App Development

DZone 's Guide to

Executive Insights on the Current and Future State of Web App Development

We take a look at what some of the topic executives from across IT had to say on the state of web development and where the field is going.

· Web Dev Zone ·
Free Resource

This article is featured in the new DZone Guide to Web Development. Get your free copy for more insightful articles, industry statistics, and more!

To gather insights on the state of web application development today, we spoke with 12 executives who are familiar with the current state of the industry. Here’s who we spoke to:













Key Findings

1. The keys to developing web applications are choosing the right technology and ensuring you deliver a good user interface (UI), user experience (UX), and customer experience (CX).

The number one key is technology choice. Customers go to development shops with a half-built app because they picked the wrong technology for the job. Avoid the outdated, overblown frameworks from the largest vendors and find the stable vendors with a proven track record, using up-to-date approaches that actually work everywhere they need to.

Understand what the customer is doing and what device they are using so you are able to provide a great UX that empowers users and customers and leads to business growth. Provide a common UX across all platforms, operating systems, and form factors.

DevOps platform upgrades, patches, security, and scaling should be built-in so you can focus on collaborating with your business to deliver high-quality apps. Automation will help you scale and produce better, more secure apps quickly.

2. The most significant changes to the development of web applications have been the rising popularity of JavaScript and microservices. JavaScript’s explosion and the number of frameworks that are evolving are breathtaking. While they are great at providing a common experience across all screens, it can be challenging to keep up with them.

Companies are either implementing microservices or exploring ways to use them. We see this in push notifications and the need for services to provide features and functionalities end users have come to expect. Web application developers need to think more about collaborating with business operations to ensure alignment of data, process, and business rules with new CX.

3. Three industries were specifically mentioned for web development use cases: healthcare, defense, and technology, but there were plenty of technical use cases with automation, and these were the only industry examples mentioned multiple times. This shows the breadth and depth of possibilities with web apps.

Web applications allow the analysis of chemical assays and animal tests, as well as the analysis of contracts with partners and other functions. Another pharmaceutical is using web apps to improve patient adherence to and compliance with prescribed medicine. Web apps can also be used to accelerate clinical trials.

Web applications can be used to track and itemize costs involved in government bids through a network of suppliers and contractors so a company can provide the necessary transparency for bids that can be in the billions of dollars.

Chip manufacturers can use web applications to collaboratively analyze performance and defects in batches of chips to refine their manufacturing process, which results in higher quality chips at lower cost and less waste.

Other technical applications include management of structured data, providing DevSecOps, ensuring cross-platform compatibility, and providing tools that help make developers of web apps more productive by reducing two weeks of work to a half-day.

4. The most common hurdles affecting the development of web applications are: 1) culture; 2) legacy systems; and, 3) complexity on multiple fronts. There’s a mismatch between developers, DevOps, and SecOps. Testing is still being done manually, and environment management is a constant struggle. It creates inefficiencies that lead to higher costs, lower job satisfaction, and degraded quality applications. Speed to market is bogged down by how hard it is to release software.

The modernization of legacy systems is challenging. Companies need to help their employees with modern development and technology. Legacy systems teams don’t want to consider security, passwords, or international standards because of their inability to see the possibilities of expanded adoption of their app. They are taking a narrow view, and their app will not scale. Bad choices early on and a lack of flexibility can lead to an expensive and time-consuming re-work of the application.

It is also a challenge to provide a consistent UX and beautiful UIs, across multiple modalities. All of the changes are around tooling. Some developers don’t even know what version of JavaScript they are transpiling to. How many versions of clients or your API are you going to support? Apps are no longer self-contained. You don’t know which browser your user is using, you cannot control when browsers are updated, operating systems and devices are always changing and this affects the UX. You need to be able to see what the end user is experiencing.

5. The future of web applications is collaborative tools that help develop web apps that work seamlessly across devices and form factors. These applications will use AI and machine learning to understand the patterns of users to improve relevance and usefulness, enhancing the UX which will result in the growth of the app. We’ll have the ability to coordinate all of the different variables that can affect web applications to ensure they are fully synchronized before they are presented to the end user.

6. Different aspects of security tend to be the biggest concerns around web applications. The explosion of JavaScript is opening companies up to potential security vulnerabilities. We need to identify bad actors more quickly and get them off the system. We also need to be aware of the growth in insider threats and the opportunity for human mistakes.

We need to test application frontends and backends in challenging environments. Some apps and sites are still not running SSL by default. Open source is no more or less secure than first-party code; however, it does not age well. If a vulnerability is announced it needs to be fixed in a timely manner. The OWASP Top 10 are also still an ongoing concern, and, unfortunately, developers are not held accountable for secure code.

Additionally, we continue to see too much reliance on technology and not enough on business outcomes. Inherent in this is that we need to keep the business, and its data, secure.

7. Three skills mentioned most frequently that developers need to build effective web apps are: 1) empathy; 2) knowledge of the fundamentals of common languages; and, 3) a desire to learn and take on more responsibility.

Empathize with your users and those you are working with. Ask yourself what the end user is trying to accomplish with your app. Walk through the steps your users are taking to understand their pain points and their workflow. Have a good grasp on the hot new technologies, but empathy for the user so you can create the best UX.

Know the fundamentals of the most popular languages, whether you’re building with JavaScript, HTML, or CSS. Know the right CSS frameworks, JavaScript frameworks, and layout requirements so you can build a good UI/UX to manage the middleware layer.

You need to have a desire to continuously improve yourself, your apps, and the development process. Begin by using the principles of Continuous Delivery and DevOps. Measure what matters, collaborate with your team, automate your pipeline, and improve. A full-spectrum, well-rounded engineer is responsible for quality, unit tests, security, and containerization.

This article is featured in the new DZone Guide to Web Development. Get your free copy for more insightful articles, industry statistics, and more!

javascript, web application development, web dev, web security

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}