Is there any reason why I should not be using let instead of var when writing Lightning Components? I would much rather use let if possible but I dont want to run into any compatibility issues
Lightning Components – Using Let and Const in Lightning Components
Related Solutions
It really depends on your business Scenario of what you are trying to achieve and your UX approach and design decisions .If you want your users to completely align to standard lightning experience going lightning components route will benefit them in long term
If you are in ISV space ,then you want to try and use lightning component framework to provide end users(Your end users are other salesforce orgs where your apps are installed) flexibility to use the builders that salesforce out of box provides .
Building with React or Angular will imply admins or business consultants wont be able to configure or control the layout .Lets say you provide that ability then you are rebuilding the builders that salesforce has already built for you .
Salesforce is trying to provide a framework that does handle lot of things for you OOB .Lightning Action Services are great step towards that where salesforce will be providing a single tag that handles CRUD respecting org CRUD/FLS and sharing configurations.
In angular or React you are simply rebuilding lot of stuff that platform automatically gives in lightning component framework (Examples include Internationalisation , labels, Locale Date formats etc).
If you ask me as of today (22nd oct 2016) its lot better than how it was an year ago and its keep getting better and better .The base components ,Utility bars ,Quick actions , Lightning Out ,Added Interfaces all are pretty robust now to build a functional apps .While there are few gaps being a new technology with a learning curve and not much libraries available open source compatible its an extra pain which i am sure with time it will be sorted .So if you are thinking of future and planning to use salesforce wont be bad idea to go with lightning component framework and If you feel you are invested in SFDC for short term then frameworks like angular or react makes sense as that can be used with any other Technology Stack .
You can use lightning:container to get around the locker service if thats stopping .The principle behind lighnting:container is it iframes your page inside the static source in a lightning component framework .
However the caveat with this approach is that it is currently in developer preview and has its own performance issues with the same .
The other viable approach is use visualforce as an iframe and use window.postMessage() to communicate between lightning component framework and the visualforce .
There are already good blogposts from salesforce that can easily help you understand the approach
Communicating between Lightning Components and Visualforce Pages
Using the above approach you need not worry about using CDN as you are essentially working with Visualforce container for all your JS and DOM and using post messages to communicate between lightning UI and visualforce page .
There is already an example with google maps .The source code is also available for reference here
Best Answer
For a while, cross-browser support meant that IE 11 was holding everyone back. There's currently no transpiler (though its been said to be in the works), so if you enabled Extended Internet Explorer 11 mode, be aware that your components may not work in IE 11 if you use let. If you don't support IE 11, then there's no reason to not use it.