The demise of Visual Studio LightSwitch shouldn’t prevent power users from building line-of-business apps; use PowerApps and Flow instead Credit: Thinkstock There’ve been citizen developers as long as there’ve been computers. Back at the start of my career, I wrote a filter modelling tool in QuickBasic after filing up sheets of paper with the math I needed for only one project. If I’d been doing that a few years later, it’d have been an Excel spreadsheet. If today, well, I’d have a huge choice of tools. Microsoft’s long been aware of the demand for programming tools for power users. You only have to look at how powerful Excel’s macros are and how Microsoft has tried to bring back modern-day versions of those early Basic development tools. Even Access has continued to change and adapt, most recently adding tools to quickly build and deploy simple web apps on an intranet. But finding the new Basic has been tricky, and Microsoft’s latest major attempt to deliver an easy-to-use general-purpose application platform, Visual Studio LightSwitch, won’t ship with the new Visual Studio 2017 release, meaning its days are numbered. The end of LightSwitch makes sense given how the enterprise software world has been changing. It required experienced developers, it never really gained mainstream traction, and its focus on working with Silverlight made it hard for it to work well in a cross-platform, mobile world. Its HTML front end was too little, too late, and too clunky. Although LightSwitch will be supported until 2020 when Visual Studio 2015 support ends, it doesn’t make sense to build new LightSwitch applications. What options are there for the current generation of power users to develop line-of-business apps? There’s always Excel, but its main limitation is the runtime environment. It’s a fat runtime and requires a lot of screen real estate, so Excel’s not the answer we should have. Beyond Microsoft Flow is Microsoft PowerApps It’s worth taking a look at the tools coming from Microsoft’s Business Applications Platform group. Perhaps best known for its business analytics and visualization tool Power BI, this team also developed Microsoft Flow, which I looked at last week. Flow is part of a suite of automation tools, linking cloud data and application APIs and building on a set of new services that are designed to work with business data. It takes advantage of the APIs built into Microsoft’s own services, like Office 365 and Dynamics, along with commonly used SaaS applications like Box, Salesforce.com, Trello, and MailChimp. The other part of that suite is PowerApps, a combined development framework and runtime for desktop, web, and mobile apps that work with line-of-business data. These apps can be updated and modified on the fly, without having to go through app store approval each time you want to make a change. Just as important for power users: PowerApps doesn’t require you to be a developer to write code, because it’s targeted at business analysts and other power users — folks familiar with Office and Excel macros but who haven’t written any code. Getting started with PowerApps is easy enough, using either the web service or the Windows Store app. Out the box, you’re presented with a set of templates to help you get started. You assemble applications from common building blocks and designs in a visual layout tool, with connections to familiar cloud service APIs. You can also manage any Flows you’ve written in PowerApps, as well as link them to more complex applications. As befits a tool intended for business analysts, PowerApps starts with your data. You then choose smartphone or tablet layout options, with a very Office-like view of what you’re building (it uses elements of the familiar PowerPoint and Excel user interfaces). Each screen you build is shown on the left (much like the slides in a presentation), while a toolbar makes it easy to add content and Excel-like formulas to your screens. A wide selection of data sources is supported as inputs, even a spreadsheet table hosted on OneDrive. Although you can spend time building your own screens from scratch, PowerApps can generate the appropriate screens for an app from your data sources, giving you tools to browse data, see it in more detail, and make any changes you want to make. You can test apps inside the desktop PowerApps tool, and you can change views to fit your needs, as well as adding your own branding to the code. The default screens are a good place to start, as they introduce most of the key PowerApps concepts. Under the hood: The Common Data Service There’s one key service at the heart of PowerApps, and it’s Microsoft’s Common Data Service. Perhaps best thought of as a common ETL (extract, transform, load) layer for all your data, the Common Data Service maps imported data into standard entities, with the option of custom fields for where your data can’t be tied to an existing model. If a field from a service you’re connecting maps to a Common Data Service field, you should use it, because it simplifies application development, allowing simple MVC (model-view-controller) development with hyperlinks to your data generated automatically. If you’ve ever used Microsoft Access or Apple’s FileMaker Pro, this approach will make sense. It’s also very similar to building applications on top of Salesforce, where you work with its standard data model for much of your application, only using custom data elements where absolutely necessary. In many cases, you won’t need to go beyond the standard entities, because they cover most common business data: names, addresses, account numbers, and product data. Microsoft splits the Common Data Service entities into functional groups, covering customer service, purchasing, sales, people and organizations, and foundational data that’s used by all the other functional groups. It gets even more interesting when you start using PowerApps to trigger Flow. For example, you might be using a sales database to send a welcome letter via MailChimp to new customers as soon as they’re entered into a database. Such state changes in PowerApps are important events and can be used to trigger many actions, either directly or via Flow. Don’t mourn LightSwitch’s demise too much Developer frustration with LightSwitch’s end is understandable. After all, PowerApps, for all its features, isn’t a direct replacement for LightSwitch — and without significant changes, it never will be. But the market for business software is changing; much of what LightSwitch did is now built into platform tools like Microsoft Dynamics and Salesforce. PowerApps gives development tools to business analysts, with the aim of delivering solutions to business needs very quickly. It’s a tool that gets you started, whether for a quick solution or a proof of concept. As a low-code tool, it also helps Microsoft’s enterprise platform compete with Salesforce’s similar Lightning tools. If you need more capability, you’re going to need to build more complex code in a tool like Visual Studio — and become an actual developer. Until you must make that leap, the combination of PowerApps and Flows should let you build most basic line-of-business applications. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos