The more I’m looking into the PowerApps Component Framework, the more obvious it becomes that the era of “do-it-all”-ers in Dynamics/PowerApps might be coming to an end.
Although, it’s not just the PCF that’s making me say this.
We can still do it today in the model-driven PowerApps, but, it seems, the world is changing.
It’s been a while since the term Citizen Developer was introduced, and this is really how we call a developer who is, well, not a developer in the regular sense, but who is still doing “development” using more high-level tools:
For example, there can be Flow developers, and there can be Canvas Apps developers. Interestingly, those tools are not that straightforward, so somebody just starting to work with them may need to go over quite a bit of learning.
On the other hand, PowerApps Component Framework hardly belongs to the realm of the Citizen Developer – instead, it’s meant to be utilized by the professional developers:
And it’s not just wording(although, of course, one might argue that plugins were always meant for the professional developers as well). If you look at the sample code of PCF components, you’ll see something like this:
So, unlike with a web resource, there are a few more things to consider:
- The framework itself
- The fact that you need to create HTML elements from code
Now, to use typescript, and unless you are familiar with it, you’ll probably need to catch up first, you’ll also need to learn what NodeJs is, what NPM is, how to use them, etc.
But that’s just one example of where the line between Citizen Developers and Professional Developers is becoming more clear. There are other examples, too:
- Do you know what CI/CD is and how to set it up?
- Are you familiar with the Azure DevOps?
- Do you know how to use Git?
- Can you use solution packager to parse the solution so you could put solution components in the source control?
- Are you familiar with PowerShell scripting?
- Do you know how to write plugins?
- Are you familiar with the TypeScript? How about Angular? NodeJs?
- Can you explain what solution layering means and how it works?
On any relatively complex implementation those are the skills you may need to have as a model-driven powerapps developer.
Although, as a Citizen Developer, you might not need to even bother to learn those things.
And, as a Functional Consultant, you might need to be aware of what can be done through either sort of development, but you have your own toys to play with – think of all the configuration options, security model, licensing, different first-party applications.
A few years ago Microsoft began to introduce “Code-Less” features such as Business Rules, Microsoft Flow, Canvas Apps… and it almost started to look like the days of real developers in Dynamics were counted.
Then there was OData, WebAPI, Liquid for Dynamics Portals… Now there is PCF which is targeting professional developers from the start. Add plugins to this mix, and, suddenly, the outlook for developers starts looking much better.
However, what it all means is that every “group” is getting their own tools, and, so, they have to spend time learning those tools and frameworks. As that is happening, former Dynamics consultants “with developer skills” may have to finally choose sides and start specializing, since there is only so much one can learn to use efficiently in the everyday work. Personally, I’ll probably try to stick to the “do it all” approach for a little longer, but I’m curious how it’s all going to play out. We’ll see…