-5

Microsoft Outlook Web App 2013 (OWA) has consistent look and feel on most browsers and devices. It also has an API to extend it.

OWA 2010 was a normal ASP.NET Web Pages app, but OWA 2013 doesn't look like one and it doesn't look like ASP.NET MVC. Even JavaScript files on Exchange are huge and look like machine generated code.

;_z.$7O=function(n,t){this.$$d_$76L=Function.createDelegate(this,this.$76L);this.$$d_$4o6=Function.createDelegate(this,this.$4o6);this.$$d_$4o1=Function.createDelegate(this,this.$4o1);_z.$7O.initializeBase(this,[n]);this.$G=t;this.$r5=null;this.$AE=$(window.document.createElement("Textarea"));$4Nx(this,this.$AE);var i=this;this.$AE.change(function(n){$6UT(i)});this.$AE.addClass("textarea");this.get_$J().append(this.$AE);this.set_$1hh(!0);this.$4o2=new _C(this.$$d_$4o1,this.get_$1X())};_z.$7O.$4wZ=function(n){var t=n.instance;if(n.newValue){t.$AE.attr("readonly","true");t.$AE.addClass("textboxDisabled")}else{t.$AE.removeAttr("readonly");t.$AE.removeClass("textboxDisabled")}};function $6UT(n){n.$r5&&n.$r5.$q()}function $4Nz(n){n.$AE.unbind("paste");n.$AE.unbind("cut");n.$AE.unbind("keyup");_a.UserAgent.getInstance().$7H&&n.$AE.unbind("beforedeactivate")}function $4O0(n,t){n.$AE.val(t);n.set_$Mh(t);n.$3ug()}

Does anyone have a clue what kind of framework or tool was used?

z-boss
  • 17,111
  • 12
  • 49
  • 81
  • 1
    `Even JavaScript files on Exchange are huge and look like machine generated code.` [Minified js is incredibly common](http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js), but it doesn't mean all of it is entirely machine-generated. – admdrew Feb 13 '14 at 19:50
  • True, but if you beautify my sample you will see that functions names look like machine generated. What minifier can do that? – z-boss Feb 13 '14 at 19:55
  • `What minifier can do that?` I bet one used internally by Microsoft ;) – admdrew Feb 13 '14 at 19:57
  • 2
    it could be written in typescript... – dandavis Feb 13 '14 at 20:15

3 Answers3

6

I don't don't know but it smells like ASP.NET MVC and a custom MVVM JavaScript framework that was minified with the WebGrease minifier.

Scott Hanselman
  • 17,712
  • 6
  • 74
  • 89
  • This is probably mostly accurate :) – Kelly J Andrews Feb 24 '14 at 14:31
  • MVVM JS Framework is definitely present, but I'd expect it not be custom, but rather something that MS dogfoods, like TypeScript or ASP.NET Ajax. There is no .cshtml files, but a few .aspx files, so not likely MVC. Thanks for WebGrease hint. – z-boss Feb 24 '14 at 15:29
1

I'm guessing it's proprietary -

/* Office runtime JavaScript library */
/* Version: 15.0.4469.1000 */
/*
    Copyright (c) Microsoft Corporation.  All rights reserved.
*/

They also have some jQuery in there.

This is based off of my company's install of it.

Kelly J Andrews
  • 5,083
  • 1
  • 19
  • 32
-2

Almost all Js minifier perform variable names obfuscation. In fact, the intention is not to obfuscate, but you should know that the smaller the code is, the faster it downloads(obviously) and it executes.

Usually, I use YUI Online compressor, but Uglify.js seems to be more recommanded.

There are plenty others, notably if you want to invoke them as part as a build phase (R.js, Rhino...)

Feugy
  • 1,898
  • 14
  • 18