We all know Ethereuem Smart contracts or DApps cannot take role of an enterprise applications, yet. There is a cost involved at every stage of Execution, only small data can be persisted or unless help of IPFS is taken, inter communication outside of Blockchain is still a challenge unless Oracle services are requested for which again there is a cost involved and list goes on and on. I understand we don't have a crystal ball, but how far are we in terms of firms adopting Smart contracts for there day to day running operations. I am not sure how far are we, but not close either. Thoughts are welcome.
I am not quite sure in which direction your question is exactly heading, but here is my go on it:
I would actually assert that you can probably transfer every full fledge application into a dApp. You just need to split it into enough smart contracts, ipfs documents and frontend code that takes care of all the intercommunication outside of the blockchain. I am not trying to say that this would make any sense at all, but still I'd say that the possibility is there.
The thing you have to consider however is the role of the smart contract/blockchain in the context. What advantages does it have to move your former backend code into a smart contract?
- Do you need the consensus for your application?
- Is there some third party and trust involved?
- Do you need an immutable history?
- Is there any real reason to decentralize some services?
And probably for most firms most of the answers to those questions are no. Because they are the owners of the data anyways so there is no reason for them to move anything out of the current server/client setup and they don't have any advantage for decentralizing their services. Especially because the blockchain doesn't make the quality of the data any better, it just checks if the transaction is is sent with is valid.
Also a take on your cost-considerations:
You don't need to use the public blockchain to build a dApp (without the open source aspect of it obviously): The company could just setup their own private blockchain with no transaction fees and costs should pretty much even out with a normal server/client setup.
If your question was rather asking if smart contracts will transform into full fledge (backend) applications, I am also tempted to say no for now, just because this is not the aim there. But as you said - who knows what the future might bring. It is a young technology and we will need to see.
I am not sure. But I am tempted to say no.
First, so far, smart contract are "dead" pieces of code. They can't do something every hour/day by themself. They need an external trigger. In a company for example, or even in games or whatever your application can be, it is very common to have repetitve tasks.
Moreover, blockchain (and in this case ethereum) is a tool used for specific purpose(s). It is not really meant to be a fully "framework" (or whatever) used to create a full application.