Beyond the citizen developer: Why pros see promise in Microsoft's PowerApps component framework

May 27 2019

Sample PCF controls in Dynamics 365 Customer Engagement | Source

The era of “do-it-all” citizen developers in Microsoft PowerApps might be coming to an end.

That's because, as part of the effort to mature the platform, Microsoft has been steadily advancing new tools and capabilities designed especially for the professional developer community.

Now in public preview, the PowerApps component framework (PCF) for model-driven apps is one such improvement, allowing developers to build custom interfaces for PowerApps, such as sliders, buttons, gauges – anything beyond what Microsoft provides by default. Microsoft has also released a public preview of PowerApps CLI, a developer command line interface that lets developers build custom components for PowerApps faster and more efficiently.

The progress on these tools has encouraged early adopters, who believe developers will have a unique role in the future of Microsoft business applications, with a range of tools at their disposal from configuration through customization with a range of languages and development packages.

Empowering developers

"(PCF) is a significant step towards empowering [third]-party developers to build compelling visual components using the same framework which Microsoft team uses," stated Microsoft's Hemant Gaur, product owner for the PowerApps component framework, in a blog post. "The framework enables developers to create fully custom components for use across the full breadth of PowerApps capabilities."

Rich text PCF custom control
Rich text PCF control | Source

The framework is also the foundation for the new Unified Interface released with Dynamics 365 for Customer Engagement apps version 9.0 that uses responsive web design principles to provide the best viewing and interaction experiences for any screen size, device, or orientation, Gaur stated.

PCF has been exciting for developers, according to Microsoft MVP Andrew Ly, associate director and Microsoft Dynamics 365 specialist at KPMG Australia.

"Microsoft has been pushing the low-code and no-code aspects of the platform which, don't get me wrong, has been fantastic from a user experience perspective," Ly stated via email. "But now we get a chance to completely change the experience for our users through some pro development, and in a way that's 100 percent supported."

But that move away from "code-less" features is one of the reasons Microsoft MVP Alex Shlega, a Dynamics 365 consultant and solution architect for the City of Ottawa in Canada, believes the era of "do-it-all-ers" is on the way out. In a blog post Shlega stated that he started working with Dynamics around eight years ago because he didn't want to stick to pure development and spend every day coding.

"That was back in 2011 when this kind of skillset worked great for a Dynamics consultant since what was missing out of the box I could always extend with JavaScript/HTML/plugins," he stated.

Shlega added that at that time he didn't have to be a full-stack developer familiar with the latest frameworks. All he really needed was basic JavaScript skills, some C# development abilities, probably SQL, but nothing else more advanced.

"We can still do it today in the model-driven PowerApps, but, it seems, the world is changing," Shlega wrote.

A 'shot in the arm' for developers

Like Ly, MVP Debajit Dutta, a senior programmer analyst at SanDisk, is also excited about what PCF means for developers.

Pulsing notifications PCF control
Pulsing notification PCF control | Source

"PCF for me is like infusing new life into the developer community of Dynamics 365," Dutta told MSDW. "PCF has been a 'shot in the arm' for the technical community of Dynamics 365."

With the introduction of the concept of citizen developers over the last year or so, sentiment grew that perhaps the days of the Dynamics developer are numbered. But Dutta stated that the PowerApps component framework has caused the developed community to get its "mojo" back.

Although developers were always necessary, they were limited to things like plugins, workflows, XRM scripting, and web resources, Dutta said. And all they needed was intermediate knowledge in C# and probably jQuery and HTML, from the client perspective.

"However PCF widens the door for many," Dutta said. "You can now bring your TypeScript/Node.js/angular skills into the Dynamics platform and this will certainly attract more technical minds into the Dynamics community. And a better community creates a robust product, I feel."

Developers who have worked on ASP.NET and have a good a grasp of developing custom controls will find it easy to understand the lifecycle of PCF, he stated. Anyone who has a solid background working with ASP.NET web applications and has level 200 expertise in TypeScript could start developing something based on the framework. Dutta added that he's lucky for having experience in both areas.

"So for me it was all about understanding how to fit something I develop into the Dynamics framework –  build, test, and deploy these components we build," he said. "The nitty gritty of Manifest.xml file which explains the schema of a PCF control like supported data types, tags etc. So it has been quite a learning [experience] but probably starting from level 100 instead of ground level. I was fortunate with that."

Something for everyone

What it all means, Shlega wrote, is that every "group" is getting its own tools, so they have to spend time learning those tools and framework. That means that former Dynamics consultants with developer skills will likely have to finally choose sides and start specializing, "since there is only so much one can learn to use efficiently in the everyday work."

PCF is also a game changer from a customer perspective, according to Dutta.

"From the customer's perspective, with PCF being introduced, I believe imagination is the limit in terms of extensibility," he said.

Although Dynamics 365 has evolved a lot over the years with the introduction of flows, Canvas apps, and model-driven apps, there still are gaps that are now pretty much filled thanks to PCF.

"Traditionally we have web resources but that kind of never blended with the CRM look and feel," Dutta stated. "It was always like something sitting on top of Dynamics. With PCF, the power of rendering custom HTML is now in your hands, with Microsoft taking care of the inclusivity within the CRM UI framework. It's a part of Dynamics form page lifecycle and blends it just like OOB controls."

PCF CLI also 'fantastic'

Ly stated that his learning experience with the latest PCF CLI also has been fantastic. The Microsoft Docs have been very useful, and the entire PCF team has been very thorough in ensuring a good experience for developers.

"A case in point was the introduction of the test harness for the latest CLI tool, which lets us debug our components quickly," Ly said. "My workflow has greatly improved since the initial private preview where this wasn't available. Also from a coding experience, I'm new to TypeScript, but picking it up has been pretty simple, and actually quite enjoyable what you can do with it."

So far, Ly has built a number of components, including:

  • Number button selector: A simple incrementor that has plus and minus buttons
  • Countdown timer: A simple countdown timer showing days, hours, minutes and seconds until a date
  • Keybinding example: Allows users to create a keyboard shortcut, and assign an action to it
  • Progress bar: Takes a percentage value and represents this as a progress bar
  • Notification – Pulsing: Takes a string and then pulses the message against a blue background

"I've also built a command line tool to quickly create your project, install dependencies, create dummy CSS/image files with a single line," Ly stated. "My work is available on GitHub and as for community tools, the places to go are PCF gallery created by MVP Guido Preite and the Microsoft PCF team's sticky thread."

Getting started

To get started with PCF, Ly recommended that people who are completely new to TypeScript take the introductory course to TypeScript 2 on EDX.org. It's free for those who don't need the certificate.

"It took me about a week to complete and go through the labs in my own time, but it gave me a good foundation on which to start building controls quickly," he stated. "You'll quickly figure out how to use the PCF CLI if you just follow the Microsoft Docs, and of course, watch out for threads on the Microsoft PowerUsers forum. Chances are if you run into a roadblock, someone has already posted on it here."

Dutta's advice is to first understand the PCF component lifecycle and how it fills the gap that web resources were not able to do over the years. The next step is to start brushing up on TypeScript skills, which are necessary to develop production-ready components.

Finally, Dutta believes that every developer should learn to think like a "Dynamics technical consultant" at times. A developer's mindset is always to code something to get the work done. However, a consultant thinks of the product as a whole, including configurable features and platform capabilities, before going ahead with any customization.

"Just because we have something wonderful now in the form of PCF, we should evaluate whether the same can be achieved using a no-code approach," he stated. "A consultant's role is to determine the optimal solution for a client and should always be functionality-driven rather than feature-driven."

As for Shlega, he stated that he'll probably try to stick to the "do it all" approach for a little while longer.

"But I'm curious [as to] how it's all going to play out," he stated. "We'll see."

FREE Membership Required to View Full Content:

Become a MemberLogin
Joining MSDynamicsWorld.com gives you free, unlimited access to news, analysis, white papers, case studies, product brochures, and more, and it’s all FREE. You’ll also have the option to receive periodic email newsletters with the latest relevant articles and content updates. Learn more about us here
About Linda Rosencrance

Linda Rosencrance is a freelance writer/editor in the Boston area. Rosencrance has over 25 years experience as an reporter/investigative reporter, writing for many newspapers in the metropolitan Boston area. Rosencrance has been writing about information technology for the past 16 years.

She has covered a variety of IT subjects, including Microsoft Dynamics, mobile security issues such as data loss prevention, network management, secure mobile app development, privacy, cloud computing, BI, big data, analytics, HR, CRM, ERP, and enterprise IT.

Rosencrance is the author of six true crime books for Kensington Publishing Corp.

More about Linda Rosencrance