An app for SharePoint can have remote pages that contain custom Web Parts. Another option is to expose a page from a remote web application in an app part on a SharePoint site page. The remote page can have essentially the same UI controls and functionality as a Web Part.An app for SharePoint can contain functionally equivalent remote event receivers.An app can deploy a new field (column) that is based on one of the existing field types. Another option is to present your data in a remote web page with customized controls or grids.You can develop your custom web services as remote services.An app for SharePoint can include remote web pages that are available from every website on which the app is installed. An app can also use any of the built-in SharePoint Web Parts on site pages.
App experiences - three different options on how your app is presented to consumers. There are three options, one exists for all apps and your app may use one or all three of them. Every app has what is called an (1) Immersive App Experience. This is when the app takes over the entire page similar to how the Office Web Apps work. Every app has this experience because every app has a start page. This may be as simple as a "About This App" or a help page. The other type is a (2) Part App. This is when the app is surfaced on part of a page, similar to how a Web Part works. Think about a weather app… it just provides a widget to show the weather from some location on a page. The last type is an (3) Custom Action App. In this scenario your app may just expose itself as a Ribbon control or menu item. A good example of this would be to submit a document to a printing service. The printing service may have an app in the Marketplace and when it is installed in a site, you get a new option on Word or PDF documents to submit to the printing company.Scoping apps - two choices for how your apps are scoped. When building a new app you have to decide what the scope of the app will be. Will it be (1) Web Scoped in that your app's resources will live only within the AppWeb or will it be (2) Tenant Scoped in that the app will connect to a bigger service that is architected in a multi-tenant way. Don't go looking for some checkbox in Visual Studio 2012, this is more of a "how did you build it" type thing.Obtain apps through the Public or Corporate Marketplace. Just like the phone, apps are published to the Marketplace where people can acquire them or even buy them. There is a Public Marketplace for Office 365… this works a lot like the phone Marketplace. The Corporate Marketplace is where a tenant [company] can have their own private Marketplace for their employees. Each Web App can get it's own Corporate Marketplace.
SharePoint-Hosted App: In this scenario everything stays "with SharePoint." What I mean is that your app gets it's own isolated AppWeb when installed and can create & leverage things in SharePoint like site columns, content types, lists, libraries and pages. Any business logic must run in the context of the client (browser) so we're talking JavaScript.Self-Hosted / Developer-Hosted App: It will be curious to see what Microsoft tries to call this as it went by both names for a while in the betas. Basically in this scenario the bulk of the app, or the business logic, resized external to SharePoint. This could be using any technology (.NET Framework, Java, PHP, LAMP, etc) on any infrastructure (IIS, Apache, Windows Azure, Google Compete, Amazon EC2, etc). There is a SharePoint-hosted app that might not do anything but just be a launching pad to the external app, or it might have a good mix of both. The "self" or "developer" part of the name comes from the fact that the developer (or customer) is responsible for standing up the external piece & wiring the app & external piece together.Azure Auto-Hosted App: This one is quite interesting but is only available in the cloud (Office 365) at the time of RTM. Basically if your app needs to have an external component, you can build this type of app and deploy it to the Marketplace. When a user purchases/acquires your app and installs it, SharePoint not only creates the AppWeb to host the SharePoint piece of the app, but it automatically provisions a new Azure Web Site & optional SQL Azure database and automatically wires the SharePoint & Azure components together. The app would be installed in a special Azure subscription tied to your Office 365 account. Because these types of apps run in Azure, you're only limitation are the different offerings Azure provides for platforms. These include .NET Framework, Java, PHP & Node.js.