Unfortunately, the only thing you learn from using a framework is using that framework. Best practice has very little to do with the best solution for any problem, it's a backup for when there isn't enough experience to make a better choice. Learning to be a better software engineer means writing your own code, there is just no way around that.