@jenstornell A file stored on a CDN is stored in multiple servers across the globe, and will be served to the requesting browser by the closest available server. By storing a copy of a framework or library in your own server, you are not making delivery easier or faster for your server - you are doing the opposite. You are overloading your server with load requests that could be easily delivered by this other distributed network. They key feature of CDNs is, therefore, that they are more reliable and faster than just delivering everything using your own private server.
With this in mind, I donât understand your concerns in regards to loading jQuery and FontAwesome âon every single page of the Panelâ. If they are required on every single page load of the Panel, then it will be better to load them off CDN than from your own private server (faster, and less load requests to your own server).
In regards to programming without an internet connection, I ask you to consider how often - and for how long - youâve done that, during the last 5 years. Even if you have all of your projectâs resources available locally, chances are youâll still need to logon to consult online docs, reference sites, search for available plugins and libraries, get support, etc. Even if you do a little work offline, that is temporary, and youâll need to go online soon enough before you can finish any part of what youâre doing.
So, if you consider that at most you might be programming offline for, letâs say, less than 10% of the time, the question then becomes whether itâs worthwhile sacrificing the performance of the site, and substantially increasing the size of the project, because of thatâŚ
In my workplace, it is a RULE that if a framework/library/resource is available via CDN, we MUST use it from CDN, every single time. The benefits of doing this have proven themselves to us multiple times, and we now indeed consider bad coding practice to include these frameworks/libraries in the project, if they are already available via CDN.