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 and asked them, "What are the keys to developing web applications?" Here's what they told us:
- The #1 key right now is technology choice. This cannot be overemphasized. There's a trend in the industry to allow developers to pick the technology, and this can be a good thing, since upper management often picks badly outdated technology from a large vendor. The problem is that most developers do very poor requirements analysis. Over and over again, customers are coming to Isomorphic with a half-built app, having realized they picked the wrong technology for the job, which happened because the developers went with something trendy they heard about from a friend. This leads to a costly retrofit or full project reboot. Development costs go way up and deadlines are badly missed. Firms need to look for a balance: avoided the outdated, overblown frameworks from the largest vendors, but also avoid the technology-du-jour that isn't mature, doesn't quite work everywhere, and may be abandoned in the near future. In between there are stable vendors with a proven track record, using up-to-date approaches that actually work everywhere they need to.
- Many infrastructures for developers to choose frameworks – React, Angular, Vue. It’s important to find the right framework and open source tools that you can trust, track changes, and stay current.
- Understand what the customer is doing and what device they are using (mobile or desktop). Given the rate of change, go to meetups and talk with people about practical real-world knowledge. Developers see themselves as part of a community versus being beholden to one company.
- Performance, stability, and security. There’s also a headless model of integration driven by Agile and DevOps. API-first, interface second or never if the application is a utility. UX of the API design as experienced by coders.
- Solid communication and deliverables in manageable pieces using the concepts of continuous integration and delivery are critical to efficient web application development. Rapid feedback loops, combined with robust planning, help web application teams achieve consistent forward progress. Many teams do not spend enough time in planning or plan too far into the future to be effective. Every member of the team needs a clear picture of the business objectives and problems addressed by the application in addition to a firm understanding of how the team is expected to work together. Stakeholders need the ability to provide feedback early and often throughout the planning and development phases to ensure the application meets business objectives.
- Be cognizant that you are presenting a lot of potential security vulnerabilities. Practice general sanitation of inputs. When possible, use known standards to be successful and secure.
What do you believe is key to delivering a successful web app?
Here’s who we spoke to:
- Matt Chotin, Senior Director of Developer Initiatives, AppDynamics
- Michael Beckley, CTO, Appian
- Gil Server, CEO, Applitools
- Mike Kail, CTO, CYBRIC
- Kevin Bridges, CTO, Drud
- Anders Wallgren, CTO, Electric Cloud
- Jim McKeeth, Developer Advocate, Embarcadero
- Lucas Vogel, Founder, Endpoint Systems
- Charles Kendrick, CTO, Isomorphic Software
- Mark Brocato, Engineering Director, Sencha
- Cole Furfaro-Strode, Lead Software Engineer, SparkPost
- Pete Chestna, Director of Developer Engagement, Veracode