Just a general SharePoint development question. I am new to developing for this platform and have spent the last few weeks reading blog posts and cant find much consistency on best practices. I am developing for Sharepoint Online not on-premise. In Visual Studio should I be using the "Sharepoint Add-in" template and create an "App Part" or the "SharePoint 2013 Visual Webpart" template and create solution package to deploy? Seems that the Visual web part has less limitations than an app part but might be depreciated with SharePoint Online? Any suggestions are appreciated.
You need to use App Parts. Visual Webparts utilize server side code, which you can't install on SP Online (briefly, the way that App Parts get around this is that they have you install the server side code at a remote location like an Azure Cloud site and then add an iFrame to the page).