Developing dApps vs apps - my experience
I've built, launched, and maintained plenty of web apps in my career. The basics are pretty much always the same and not very difficult once you know what you're doing. Sure, there's a thousand different languages, frameworks, libraries, project structures, patterns, etc. But most of that doesn't matter. Just pick something that works and keep doing it until you find a better way or it stops working.
The challenge and complexity comes from app-specific rules. This is often called "business logic," but I don't love this term because I've known one too many software engineers who treat anything with "business" in the title as someone else's problem. Fact is that business logic is the part that really matters. This is what differentiates your app from everyone else's. Everything else is a distraction.
I recently built my first dApp for Koinos. The biggest realization I had through this process is that dApps are actually pretty easy. If you're a developer with any web experience, it should be very familiar to you. You're building a website that talks to an API, and defining what that API does with your smart contracts. You don't have to build out signup/login functionality because the blockchain itself is an identity provider. You don't have to provision a database. You don't have to configure a server. You just upload your smart contract and copy its address.
Because there's so much less distraction, you get to spend more time on your business logic. The vast majority of code I wrote for this dApp was actually meaningful. Building on blockchain is truly a delightful experience from that perspective. In a word, developing dApps feels highly productive.
And that's with building on a new blockchain. Koinos is my blockchain of choice for reasons I write about regularly. The developer experience has room for improvement which is to be expected in these early stages, but I found it suited my needs well even now. As developer tooling matures, I can see massive potential for agile businesses to innovate at a significantly faster pace than they do today with traditional web infrastructure.
I honestly think the only reason this hasn't taken off already is because of the terrible end-user experience of buying tokens and managing wallets. Which is why I'm building on Koinos.
-Luke
P.S. If you're interested in my dApp, you can check out my github for the Koinos Burn Pool and its website. I'll share more about this tomorrow.