So I am trying to get started developing Office 365 Add-ins (previously Apps for Office), and I was wondering what browser or browser engine Office uses when it renders your app. I tried using JavaScript's navigator.appCodeName and navigator.appName, but due to the problem described here renders that method useless. What browser or engine do Office Add-ins use to render apps?
It depends on where Office is being used. If it's on Windows Desktop, Office Add-ins use an Internet Explorer to load the hosted webpage in Office. For iOS, it will rely on the native WebView control. If on Office Online, it will use a sandboxed iframe, in which ever browser you open Office Online with.
If you're trying to determine the browser Office is running in, I believe sniffing the user agent string will work for you.
Related
The Microsoft Documentation says
An Excel add-in allows you to extend Excel application functionality across multiple platforms including Windows, Mac, iPad, and in a browser
Does browser mean my own website/web app or the online excel app that Microsoft has at https://office.live.com? I have been through the documentation, but couldn't find the answer.
On the web The Excel JavaScript addins interact with Excel Online which runs in a browser.
All the questions/answers I have seen so far are old and do not provide a definitive answer.
Also what can I use locally and what can I use online?
what can I use locally and what can I use online?
You may use your VSTO and VBA add-ins for Office Desktop application on Windows.
Office applications on Web (online) has extensibility via Office.js API. Microsoft current name is "Office Add-ins", you may try them by loading into your Office application (excel) from Office Store. If you want to develop add-in based on this technology I would suggest to start over here: Office Add-ins platform overview. The conception behind of this technology is "build once, use everywhere where Office runs". That means your add-in may work for Office Desktop on Windows, Office Desktop on Mac, Online versions as well as some mobile platforms (subject to availability)
I was trying to find a way to publish an outlook add in to office store.
But I found out that we can publish only office apps and not the add ins to the office store.
Hence I wanted to know what is the difference between an office app and an office add in?
And is there an easy way to convert an already built add in to an app?
Or will I have to implement the functionality all over again, while developing the app?
Hence I wanted to know what is the difference between an office app and an office add in?
Not so long ago (at #build2015) MS named Office Apps as "add-ins" as well. Classic Office add-ins are based on the IDTExtensibility2 interface (COM). They can't be run on any device or web browser. Office COM add-ins are for the desktop editions of MS Office (x86 and x64). COM add-ins can be implemented using a wide range of programming languages: from unmanaged C++ or Delphi to managed ones (C#, VB.NET and etc.). On the opposite side Office Apps (also called as add-ins now) are a small web based applications (HTML, CSS, JS) that have a limited access to the object model (typically related to the selection or opened item).
And is there an easy way to convert an already built add in to an app?
No, they are entirely different type of applications.
Or will I have to implement the functionality all over again, while developing the app?
Yes, you need to develop an Office App from the ground.
It is not lear what Office application you are talking about, but in case of Outlook you may find the Selecting an API or technology for developing solutions for Outlook 2013 article in MSDN helpful.
Sorry for the confusion. "Add-in" is just the new name for "App". So, you should be able to publish your add-in (built using HTML and JavaScript) to the Store. This is different from the really old COM add-ins.
It is possible to embed the 'Internet Explorer Web Browser' in an Excel Sheet using the Microsoft Web Browser Object. How does one Embed Google Chrome or Firefox in an Excel Sheet?
There is a project to provide a Mozilla ActiveX control matching the IE Web Browser Control Interface as much as possible. I am not following the progress but its supported version seems dated.
As for Chrome you could check out Chromium Embedded but it doesn't seem to support ActiveX so you would have to work something out using the .NET binding (CefSharp) in combination with VSTO and WinForms.
I have used CefSharp with WinForms application and it works quite well.
The samples are good for a quick start.
We have a SharePoint WSS site and some of our users on on the Mac OSX platform. Are there any tips or tricks to get a similar experience to Windows with document shares and calendars on the Mac?
Edit: Browsing a SharePoint WSS site on a Mac, whether using Firefox or Safari, has a very similar look and feel as it does on Windows IE. The similar experience I am looking for has to do with integrating the calendars, document shares, etc. into the desktop.
For example, with IE you can go to a calendar and select "Actions -> Connect to Outlook" and it will make the calendar visible and manageable from within Outlook.
Is there any way to get the Mac to work similarly?
Unfortunately, the "full" Sharepoint Experience is limited to running Internet Explorer 6/7 and Office 2007.
On the Mac, I recommend using Firefox (Camino?) which seems to work a bit better than Safari.
Edit: When you say "Similar experience", what exactly are you missing? I don't have any Mac here, but I was under the impression that Office 2008 will have a working integration with Sharepoint as well.
Office 2008 allows limited connectivity to MOSS. However there is no Mac OS browser yet that is completely compatible to MOSS.
I do have it on good authority the Microsoft Mac BU team is working with the MOSS team to see this changing in future versions of the platform, specifically around the Safari support.
ActiveX is used to enable the bridge between MOSS and Office, and as ActiveX is only on Windows, you will find that you cannot get the full experience if you do not use Windows as your OS.
Yes, Sharepoint looks to client installs of Office applications and Active X in order to fully integrate.