This is how we brought DayBack Calendar to Salesforce, and it means we can rev the app a lot more quickly than Salesforce packages which are entirely native. (Jason spoke about this and some of the other advantages of canvas apps at Dreamforce ’16: details and slides are here.)
Documentation for canvas apps is scattered all over the Salesforce docs, so Jason has put together a Canvas App Starter Kit for JS developers looking to bring their web app to Salesforce.
The Canvas App Starter Kit is open source, MIT licensed, so if you’d like to use it, change it, or improve on it, please do. The main example file is done in Angular and we look forward to versions in other frameworks or using node instead of PHP.