18 ms·
We recently tried to build a relatively simple PowerApps application - under the assumption it would save time over pumping out a React boilerplate form. Never
by oraphalous 6y ago
We recently tried to build a relatively simple PowerApps application - under the assumption it would save time over pumping out a React boilerplate form. Never again.
We wanted it to be able to integrate with our backend which lives outside the MS ecosystem. No problem we thought - that's what custom connectors are for. Except they don't work with any of the automated form generation functionality. So we pretty much have to build the form entirely manually.
Low code becomes high code all of a sudden - except it's worse than just coding and learning a new framework. You can't just input your code anywhere you want, or import your dependencies, etc... You have to hunt around in a zillion different (laggy as all hell) interfaces to find the right location where that code can live. Or maybe it's not code - but a toggle somewhere... OMG... kill me.
Good luck if you are trying to learn the lower level aspects... since all the tutorials, blogs, youtube videos - all assume that your data all lives in Sharepoint or some other MS resource - and that your connector actually works as advertised.
If you can code - and your stack doesn't already entirely consist of the MS ecosystem. Just roll your own.
- the_only_law 6y agoI was curious about PowerApps when it first came out and the past year or two is the first time I’ve ever seen one. We have a handful of PowerApps at our company and they’re really just forms hosted on Sharepoint sites. Type in some info, select some drop downs and hit enter. I still haven’t experienced PowerApps from the development side, but I’ve been pretty unimpressed with the work I’ve seen from it.
- durnygbur 6y ago> You have to hunt around in a zillion different (laggy as all hell) interfaces to find the right location where that code can live. Or maybe it's not code - but a toggle somewhere... OMG... kill me. > since all the tutorials, blogs, youtube videos - all assume that your data all lives in Sharepoint or some other MS resource If you have to troubleshoot software advertised and explained by happy smilling people dragging and dropping things, code automagically appearing from snippets, claiming that "it's easy" - RUN AWAY. Your mental health is at stake.
- marcus_holmes 6y agoI have a war story about this. I was not having the best time mental-health-wise anyway about 10 years ago. I was freelancing and writing an application for a doctor's surgery in C#, using some of the cool new toys they'd produced for it. Including Entity Framework. Which came with lazy loading of object properties, cool. Except I kept bumping into cases where the object hadn't lazy-loaded, and data I knew should be there, wasn't. Digging in through myriad stacks of documentation and notes, all of which said that data would be loaded if it was asked for without needing to load it, I finally bump into a small note, obviously written by an actual dev, that cheerfully pointed out something like "to ensure your data is actually loaded into the object, you'll need to call the loadData() method before using it" (I paraphrase from memory). I lost it. I completed that project, then uninstalled Windows, installed Ubuntu, and started learning Go (I intended to also learn Rails and Python, but fell in love with Go's simplicity and haven't moved on since). It actually helped with my mental health. Realising that at least part of my problem was that people were professionally lying to me was an insight I needed. I'm never trusting a Microsoft technology again. It's always nice and slick on the surface, and then a twisting pile of mess underneath.
- catmanjan 6y agoAre you maybe talking about .Include() which you need to call when loading related entities?
- marcus_holmes 6y agoTo be honest I can't remember (and I'm definitely not going to look). It was pretty early in the development of EF - I understand that this problem no longer exists and lazy loading works fine now. Which I would totally have understood and forgiven if they'd been honest about it. But all the documentation was lying, except this one tiny bit buried deep in the tech docs. That wasn't the first time I've encountered this phenomenon in Microsoft tech. It seems there's a mis-communication between the documentation team and the actual dev team, and they end up documenting what should happen instead of what actually happens.
- switch007 6y ago> - all assume that your data all lives in Sharepoint or some other MS resource Pretty much this. Use MS Power platform exclusively for reading/writing from MS things and you should be OK. Venture beyond that and it's painful. A lot of stuff seems to have grown out of (or is just layered upon) Sharepoint and Dynamics, so there is a lot of synergy there.
- durnygbur 6y ago> Use MS Power platform exclusively for reading/writing from MS things and you should be OK. Through Edge browser. Corporations think "it's secure" to lock stuff to work in one browser and MS is more than happy to deliver this.
- switch007 6y agoI have to flip between Chrome and Firefox depending on which bugs in which product I need to avoid :-) My favourite one is a bug in Flow where you paste a string and the entire UI goes in to an error state (can't even save) so you have to reload and lose any existing changes.
- enumjorge 6y agoAre you talking about the Chromium-based Edge or the older one?
- gnud 6y agoMy experience as well. And you don't even go into the whole licensing headache.
- niutech 6y agoThere is an open source alternative to PowerApps - Corteza Low Code: https://cortezaproject.org/technology/core/corteza-low-code/ https://cortezaproject.org/technology/core/corteza-low-code/
- dustinmoris 6y agoSounds like literally EVERY other Microsoft technology/language/framework/product.
- lvice 6y agoMy opinion on the Power Platform is: - Canvas apps: worth it only for very simple applications that interact with another MS datastore (Sharepoint, CDS/Dataverse) and services. If you mostly need to interact with custom APIs, a simple custom webapp is probably a safer choice. - Power Automate: stick to very simple flows, take advantage of the connectors but avoid at all cost complex business logic within the flow itself - Model-driven apps: more interesting in my opinion. They effectively are mini-instances of Dynamics CRM, and you get A LOT of functionality out of the box. You can't tune the UI much, but you get the benefit to build an "interactive database" very quickly, with support for RBAC system, OData REST APIs, Views, Workflows, C# plugins, dashboards. If you need an internal application, used only by a few people (licensing), where you need an interactive data-store without complex requirements on business logic and custom UIs, then I think Model-driven apps can be terribly effective. Now, if only the licensing wasn't so damn complicated...
- nojito 6y agoFlipside we rolled out over a dozen powerapps and they work great. Our Engineers can now focus on solving bigger/tougher problems instead of being tasked with making simple crud apps 24/7
- tanseydavid 6y agoWould you be kind enough to enumerate simple descriptions of these powerapps you rolled out? Maybe just a few of the "over a dozen" to give the rest of us a sense of the sort of apps that can be successfully created in this environment. Was there anything that was less-than-perfect particular from the perspective of the end-user? Has your company decide to use powerapps for all CRUD requirements going forward? This seems logical based on your assessment.
- Phillips126 6y agoI cannot agree with you enough. Our company hired a new manager that had a background "familiarity" with PowerApps. He requested that I (a software developer) create a PowerApp that would be used by the company, essentially a ticketing system. I figured with my ~decade experience in developing complex web applications from the ground up, this would be a piece of cake. What an abysmal way of developing applications. Everything (containers, widgets, etc.) is basically SVG's and your application looks like your designers couldn't use anything but MS Paint. Creating more complicated interactions with buttons and other UI elements was a pain to develop and making the UI responsive was a nightmare. The generated HTML was insanely ugly and the application was very slow/sluggish feeling. After fighting for a couple weeks, I began to (behind the scenes) build out a quick web application alternative to pitch. Long story short, he LOVED the web app version and that is what we are still using today company wide.
- pwdisswordfish0 6y ago> Everything (containers, widgets, etc.) is basically SVG's Controversial opinion: vector-based UI widgets are the right way to do web apps. Instead of all the existing framework approaches that ultimately produce HTML, both developers and users would be better served by using HTML for the elements on a screen that correspond to documents, but the web app's "chrome" should use SVG. Most of the complications of frameworks come from a blind spot on the part of developers, who continually select a tool with a high impedance mismatch to their goal (producing an app). This blind spot on the part of developers leaves this area under-explored, and in turn there's under-investment in the specs / on the part of browser makers to eliminate pain points in the way that developers are actually using the platform for their work.
- corytheboyd 6y agoHow do you make this accessible?
- beaconstudios 6y agoCan you use ARIA attributes on inline SVG in a Html document? That would do the trick nicely if it works.
- arcturus17 6y agoI had a very similar experience. Also, the interfaces are hideous and static - even though this was an internal product, the client wasn’t happy. If I’m going to have to customize it so much to make it look decent, we’re back to hi-code.
- alexfromapex 6y agoIf history tells us anything, you can assume any time Microsoft creates anything it's to try and get you stuck in their ecosystem
- dmcclurg 6y agoThis is an aspiration of any monopolistic enterprise, and many in Silicon Valley glorify this belief. See Peter Thiel's book, Zero to One.
- dfxm12 6y agoMentioning custom connectors, importing dependencies, outside ecosystems, lower level aspects... It sounds like your app was not so simple.
- Demoneeri 6y agoI'm Power Platform architect, I have been working with Dynamics for more than 10 years. Your post feels more like you were thrown on a project where you didn't know the stack. I've seen those projects where I'm brought in to fix some internal project gone wrong because they took internal softdev with no knowledge of a platform that exist for more than 15 years. Meanwhile, I shipped whole systems in half the time you took to "roll your own". Just try to roll your own ERP/CRM, we saw plenty of time how that goes.
- Joeri 6y agoOk, so, what should a software dev who hasn’t worked with power platform before look at to get up to speed on the proper way to use it with their own api’s?
- Demoneeri 6y agoLike any other platform, it's hard to get started. If you are curious, you can start with this free training materials: https://docs.microsoft.com/en-us/learn/certifications/exams/pl-400 https://docs.microsoft.com/en-us/learn/certifications/exams/... Or go directly into this module: https://docs.microsoft.com/en-us/learn/paths/integrate-power-platform/ https://docs.microsoft.com/en-us/learn/paths/integrate-power...