Ease of porting an Ethereum contract + front-end to Blockstack?

I’m a developer considering using Blockstack, but I’m completely new to the platform and am wondering how it works / the learning curve.

For example, I made a social network dapp (Ethereum contract + front-end) where everything is recorded on the blockchain. How hard would it be to “port” this to Blockstack?

Could the app still write to the Ethereum blockchain? For instance, does blockstack.js make a web3 object available? Or would I have to write to the end-user-specified storage?

Hey I have a question for you. What are the advantages of moving from Ethereum to Blockstack? I think Blockstack is wonderful, I was just curious as to what components of Blockstack make it more attractive for the port?