You have to use SSL and I believe the cert cannot be self signed, this makes getting up and running locally quickly for development a bit challenging.
You have to have at least one service worker for most browsers. So simple apps might need some boilerplate that seems unecessary.
IOS doesn’t honor the icons in the manifest file? Had to add the icon meta tags to index.html
<link rel="apple-touch-icon" href="icons/icon-512.png"> <link rel="apple-touch-icon" sizes="512x512" href="icons/icon-512.png">
It also looks like in local development with a self signed cert, the IOS add to homescreen dialog will not use the image defined in the manifest file.