The concept of Add-Ins (formally knows as Apps) in SharePoint puts logic as HTML and CSS to another page. This page is then rendered as iFrame to another SharePoint page. This approach has advantages and disadvantages. You have to decide yourself. A very promising way to put stuff (or WebParts) onto a SharePoint page is the Widget Wrangler. More information can be found on https://dev.office.com/blogs/introducing-widget-wrangler. Conceptually Widget Wrangler implementation is based on similar thinking as PnP App Script Part implementation, which was released few years back as part of the PnP patterns (or at the time it was call App Model Samples).