Before starting development in SharePoint Add-in, it is really important to understand what is host web and what is add-in web.
When an add-in that includes SharePoint components is installed on a website, it is listed on the Site Contents page from which it can be launched. That listing, which is the launch point of the add-in, is the only required addition to the website, although certain other things can optionally be added, such as a custom action or an add-in part. The website to which the add-in is installed is called the host web.
Other than these UI elements, the SharePoint Add-in components and content, such as lists, content types, workflows, and pages, are deployed to a different website in a special isolated domain. This fact is largely hidden from the user. The special website to which the add-in is deployed is called an add-in web.
Office 365 is the cloud service provided from Microsoft which has lots of features. These features can be used as subscription based. Few services are like Mail, Calendar, People. Yammer, OneDrive, Planner, Task, Delve, Word, Excel, PowerPoint, OneNote, Sway, PowerApps etc. Apart from all these services, Microsoft also provides SharePoint as a part of the services. This is known as SharePoint online. It has all the features of SharePoint like on premise version. But Microsoft does not allow server side code in Office 365 SharePoint online.
Base-64 encoded X.509 (.CER)Base-64 encoded X.509 (.CER)
According to MSDN definition, A SharePoint Add-in is a self-contained piece of functionality that extends the capabilities of SharePoint websites to solve a well-defined business problem. We can develop pages, lists, workflows, custom content types, list templates, Web Parts etc in SharePoint Add-in.
These are nothing but the Apps which has been introduced in SharePoint online and SharePoint 2013 versions. Microsoft later renamed Apps to Add-in.
Pages, lists, workflows, custom content types, list templates, Web Parts, Content Type, Site column etc.
We can not create web application in SharePoint online. We can create site collections from SharePoint Admin center.
There are lots of difference between SharePoint online and SharePoint on premise version. In SharePoint on premise, the server will be maintained by your organization, but in case of SharePoint online, everything will be maintained by Microsoft, you just need to use. Similarly patches and updates will be taken care by Microsoft, but in on premise environment, everything will be taken care by your IT team of the organization.
In SharePoint online, Microsoft does not allows you to deploy any server side code but we can develop and deploy solutions using server object model in on premise environment. Alternatively Microsoft has improved client side object model and we can develop and deploy SharePoint Add-ins using client object model.
There are lots of plans are available for your business needs.
Yes you can retrieve host web data from add-in web inside SharePoint hosted add-in.
check incheck out,Major,Minor version,Document mandatory
We can not use event receivers in SharePoint online, instead we can use remote event receivers. Remote event receivers can be developed as a provider hosted add-in and can be deployed to Microsoft Azure.
Yes we can increase site collection storage quote in SharePoint site. We can do it from SharePoint Admin center.
Yes, As a developer we can connect to SharePoint online site collections from PowerShell. We can do lots of operations using PowerShell in SharePoint online. For this we need to install "SharePoint online management shell".
We can develop visual web part as a sandboxed solution for SharePoint online sites. Sandboxed solutions are deprecated now a days, so better you should develop as a SharePoint Add-in.
folder,document set ,documents
In provider hosted add-in we can use .Net managed object model code (csom).
Here we can write code using below two dlls:
There are two kinds of SharePont Add-ins.
1- SharePoint Hosted Add-in:
SharePoint-hosted add-ins consist almost entirely of SharePoint components in an add-in web. A user can run a SharePoint-hosted add-in from a tile on the Site Contents page of the SharePoint website to which it's installed.
2- Provider Hosted Add-in:
Any SharePoint component that can be in a SharePoint-hosted add-in can also be in a provider-hosted add-in. But provider-hosted add-ins are distinguished from SharePoint-hosted add-ins because they include at least one remote component; such as a web application, service, or database that is hosted externally from the SharePoint farm or SharePoint Online subscription. This could be a server in the same corporate network as a SharePoint farm or a cloud service. The external components can be hosted on any web hosting stack, including the Linux, Apache, MySQL, PHP (LAMP) stack.
When the remote components are implemented with .NET, the managed code SharePoint Client-Side Object Model (CSOM) library is available.
For remote components that are not based on .NET, there is a set of REST/OData APIs that can be used to access SharePoint data. These can also be used from a .NET client if you prefer working with an OData interface.
Like Jsom, we can use Rest API inside a script editor web part or inside SharePoint Add-ins in SharePoint online.
We can deploy the SharePoint Add-ins to following two places.
SharePoint Add-in Catalog: We can upload the SharePoint Add-in to organization's add-in catalog site. An Add-catalog, is nothing but a special collection in SharePoint online which contains a special type of document library that is used to upload and store app package files. Once you add the add-in to add-in catalog, the ad-in will be available to all SharePoint site collections. You can check a SharePoint video tutorial on: Video Tutorial Create and Deploy SharePoint Hosted Add-in using Visual Studio 2015
To the Office Store: We can also deploy SharePoint Add-ins to Office store. Microsoft has a Seller Dashboard to help you sell add-ins through the Office Store.
After you deploy the add-in in either way, it's available for installation on the add an add-in page of SharePoint websites.
Yes we can add custom domain in office 365 SharePoint online. You can go to Office 365 Admin Center and click on +Add a domain in the Domains section.