If development is being democratized, then there needs to be a change in the way we access and use development tools.
The last decade has seen the web become a richer, more dynamic place. HTML 5 tools and techniques have given us complex user interfaces and large scale business applications. Tools like Google Docs and Microsoft’s Office Web Apps have shown we can use the web for productivity. So why not use the same technologies to deliver a development environment?
Web-based development tools have been around a long time – as long as there have been forms with text boxes. Some, like Yahoo! Pipes, have been visual programming environments that graphically show connections between web APIs, with tools for adding scripts to transform input and output, while others, like Salesforce’s development tooling, have allowed you to add scripts to existing web services, letting you customize them to fit in with your business processes.
Now, the two trends have met. There’s a new generation of web-based and hosted development tools that give you the rich design, editing, and testing experience of a desktop IDE, while running in a modern browser – for free, or for a low-cost subscription. If you want to build a quick web app to solve a pressing business need, all you need is a browser – and possibly a credit card.
There’s a base free service, designed for public application development, and a $12/month service that lets you work privately. Apps can be deployed to cloud platforms like Azure and Heroku, and you can link projects to source code management tools like git.
Microsoft’s "Napa" (a codename) is a cloud hosted development tool for new Office apps. With a new Office app model as part of Office 2013 and the next release of Office 365, Napa is designed to let anyone build HTML 5 Office apps, and then share them with their colleagues – as well as using them as the basis of full-blown Office apps that can be maintained by IT departments.
Office has long been the province of BYODevelopment models. Visual Basic for Applications (VBA) was part of the desktop suite, and it meant that anyone could write code that worked with Office, allowing quick customizations for specific business needs. Visual Studio Tools for Office (VSTO) moved Office development away from the user, with complex .NET development tooling and security models that meant it was impossible for the end-user to write and deploy code.
With “Napa” things have changed. A simple cloud-hosted editor (which is part of SharePoint 2013 in on-premises deployments) lets anyone quickly build their own Office apps, and publish them to private and public Office stores. Apps can plug into to web service APIs, as well as embedding HTML 5 controls from familiar web properties, so you can include visualizations and mapping features in your Office apps.
The Office apps model allows you to transition apps from the cloud to Visual Studio, so popular user-created apps can be brought into more structured development frameworks. With Office apps often working with documents that have regulatory compliance issues, it’s a model that helps businesses take advantage of the development skills of their users, while still keeping application development part of existing governance.
Unlike traditional IDEs, TouchDevelop takes a more visual approach to application development. As you add new elements to an application, you can pick and choose from a set of tiles that include common command structures, as well as variables and data. TouchDevelop strips out key programming features into separate code elements, so you can add events, data and art separately. There’s also support for libraries that can be shared between applications. It’s a simple approach that works well on touch devices like tablets, so you can start coding on an iPad while sitting in the family room.