Almost everyone is waiting for SharePoint Apps that will be a reality with SP2013.
However we started on SharePoint app on SP2010 itself. Hold on! Its not exactly what App will be on SP2013 but presents the same concept and that can be implemented on SP2010.
The core pieces-
HTML (prefer some SPA framework or CSS3 framework like Foundation or Bootstrap), jQuery, jQuery UI, Knockout and of course the SharePoint server(s).
How we did it?
There are two ways to use HTM within sharepoint:
Using content editor webpart – you can keep the content of the html in a text file and upload it to a document library in SP2010 and in a doc library (like Pages library), create a SharePoint page, add a content editor web-part and point to the html file that you have created in the content-editor. The js, css and all dependencies for the html should be put in the same library as that of the html. You may have those folders for the dependencies like js, img or css. The most important part is that the html should not have the <Head> section and also remove the body tags. Why? the content will be part of another bigger html content rendered by the parent page (SharePoint page). So where does the js code goes? You can add those within the html body (preferably put all at the top or at the bottom).
Uploading the full html – add the full html as in the earlier option. That means the <head> and <body> sections are intact.
The #architecture follows the standard SP app way. The presentation is in html, the business logic is on a .NET application (we implemented WebAPI) and SharePoint works as a repository and use the SP API (CSOM or REST) to interact with SharePoint. Any requirements for workflow and all can still be managed in SP.
The WebAPI is the latest standard from .NET stables and preferred for simplicity and tuned for Web development. If you know #WCF, WebAPI is simpler and equally powerfull for providin the web interface.
So we are enjoying this and really looking for SP2013…..