I don't think there is "the best" framework right now.
Truffle and Embark are comparable in terms of features and to get started quickly with your first contracts, both are fine. Both support contract compilation and deployment and give you a general structure for your app. Furthermore, they make it easy to interface with your deployed contracts and even test them.
dApple by Nexusdev is a tool focussing on support for interconnected multi-contract applications, but better look at the documentation yourself, as I'm not very familiar with it: https://github.com/nexusdev/dapple
You might also want to check out the following project using webpack, to conveniently deploy contracts and use them from js code: https://github.com/uzyn/ethereum-webpack-example-dapp
FWIW, at the time of this posting, there seem to be more Stack Overflow questions about Embark (1,436) than Truffle (574) by > 2:1 margin. What that statistic might or might not imply regarding the relative amount of community knowledge is open for your own interpretation.Some statistics
Results Framework Search 1436 Embark https://stackoverflow.com/search?q=embark 574 Truffle https://stackoverflow.com/search?q=truffle
Note, neither of the two tags show on Stack Overflow Trends at the present time.