Microsoft's Atlas Runtime Reference (Javascript extensions)

Started by Darren Dirt, May 30, 2006, 03:07:28 PM

Previous topic - Next topic

Darren Dirt

The Atlas Runtime provides the foundation classes for the Atlas Framework. The runtime focuses on two tasks:

1) Modernizing the Javascript language, and

2) Enabling different "patterns" to be dynamically attached to the system.  Bindings is one of the implemented patterns.

http://www.start.com/developer/atlasruntime.aspx

- - -

e.g.

String.ltrim()
String: Trim any leading spaces.


String.rtrim()
String: Trim any trailing spaces.


String.trim()
String: Trim all leading and trailing spaces.


String.endsWidth(strEnd)
Boolean: Whether the string ends with the specified string.


String.startsWith(strStart)
Boolean: Whether the strings starts with the specified string.


...etc...


I noticed that most of the "modernization" of Javascript listed on the above page are the sorts of string manipulation/analysis functions that web devs take for granted in PHP, or even ASP, and
when it comes to Javascript most of us find they are so commonly needed that we have already come up with "DYI" solutions. e.g. String.prototype.trim=function(s){return this.replace(/^\s+|\s+$/g,"")};

So hopefully any of "our" code that says "alert(strSomething.trim())" won't suddenly do something unexpected after "Atlas" kicks in ;)


Seriously, though, it's nice to see that M$ is still taking web development seriously -- for the most part (though Atlas extends strings and arraysa token amount, there's a lot of other functions they completely overlooked, and what about NUMBERS? There's some pretty common numerical stuff that would have been really easy to include in the extension, such as rot13 fer cryin out loud -- you just have to visit PHP.net if your "idea well" is dry, Microsoft team, gosh! ::) And what about a nice Ajax wrapper, so stuff like this isn't as necessary? ).

_____________________

Strive for progress. Not perfection.
_____________________

Lazybones

There is a demo video floating around where they show how easy it is to drop some atlas code in and convert a static page in to an AJAX page where the controls don't need to post the whole page back to update.

Darren Dirt

...for the ASP/.NET programmers, maybe. I am sure M$ will be making it very easy for their loyal code monkeys to take advantage of Atlas.


But what about the rest of us? What's so special about Atlas?

Some of us are hoping that Big Red will finally give in and do something that encourages the freedom and creativity that even the most basic wrappers/APIs are obviously doing (look what DHTML APIs did for Javascript games, and what the Googlemaps/suggest API has done for Ajax gadgets in such a short time) ...

well, from what I have seen so far, I'm underwhelmed at this "modernization". Somebody give me a website link, even a Wikipedia entry, that tells me more about why I should be less cynical about "Atlas" :-\
_____________________

Strive for progress. Not perfection.
_____________________

Lazybones

Um, I think the point of ATLAS IS for MS .Net developers... if you look back at this old thread and watch the demo on http://atlas.asp.net you can see that the focus appears on adding more client side function to .net controls which are normally very server intensive. The point is for the developer to not NEED to touch the java script, it is generated for them as part of the framework.  I think ruby on rails is the same basic idea.

Sure there is java script stuff you COULD directly use out of the library's but it really is meant to be generated code from what I understand.


Darren Dirt

Yeah, I'm glad M$ is protecting programmers from being burdened by having to... um... program. ;)


...shouldn't be surprised, though, it's been many years, slippery slope: http://forums.righteouswrath.com/index.php/topic,3169.0.html

If my son is "dropping modules into place" when he's my age, and *that* is called "programmingdevelopment", then for shame how fast The Craft will have disappeared, how sad the loss of creativity and elegant coding and such... :(


_____________________

Strive for progress. Not perfection.
_____________________

Lazybones

You have been able to drop modules in Delphi for years.. However you still need to write all the code that does stuff.

However, I can't remember where, but I have seen a complete GUI flow based development tool for web apps.. You basically just make a flow chart connecting all the objects it gives you a generic interface.

Mr. Analog

Quote from: Darren Dirt on May 30, 2006, 04:55:54 PM
Yeah, I'm glad M$ is protecting programmers from being burdened by having to... um... program. ;)


...shouldn't be surprised, though, it's been many years, slippery slope: http://forums.righteouswrath.com/index.php/topic,3169.0.html

If my son is "dropping modules into place" when he's my age, and *that* is called "programmingdevelopment", then for shame how fast The Craft will have disappeared, how sad the loss of creativity and elegant coding and such... :(

Real programmers use 16 bit assemblers. Monitors and keyboards are for lazy 3rd generation programmers.
By Grabthar's Hammer

Shayne

Atlas is pretty nifty.  Behold the power of atlas http://www.live.com the scary part is that it runs better in firefox then in IE (mostly the drag+drop stuff).  Love the hover over [more] popup using an iFrame.  Great stuff, leave it to Microsoft to really push this stuff, all the money and time in the world to truely standardize it.

http://ajaxpatterns.org/wiki/index.php?title=Ajax_Frameworks <- an assload of frameworks, all slightly different.

Personally i use prototype.js its really a single solution that rocks and heavily supported by frameworks for transition effects and what not.

Thorin

Is www.live.com really programmed using Atlas?  Because here's some things I found in the code:
Quote
<!-- SiteCatalyst code version: H.1.
      Copyright 1997-2005 Omniture, Inc. More info available at
      http://www.omniture.com -->
Quote
<script language="JavaScript" src="http://stj.live.com/live/extern/omniture/s_code.js"></script>
Prayin' for a 20!

gcc thorin.c -pedantic -o Thorin
compile successful

Darren Dirt

http://www.omniture.com/services seems to describe the company as providing "metrics" and related services... Not dynamic rich web applications and such. So I'm guessing it's like including a chunk of code from TheCounter.com, or even Google AdSense. The actual DHTML/Ajax stuff is from numerous other .js files, IIRC (I skimmed through a view-source a few weeks back.)

e.g.

<web:binding selector="#application" type="Start.App">
<web:references>
<web:add src="1.0.7.132/Const.aspx" type="script"></web:add>

<web:add src="http://stj.live.com/live/js/1.0.7.132/Proxy.js" type="script"></web:add>
<web:add src="http://stj.live.com/live/js/1.0.7.132/s1.js" type="script"></web:add>
<web:add src="http://stj.live.com/live/js/1.0.7.132/s2.js" type="script"></web:add>
<web:add src="http://stj.live.com/live/js/1.0.7.132/defaultloc.js" type="script"></web:add>

</web:references>
</web:binding>

_____________________

Strive for progress. Not perfection.
_____________________

Thorin

Yes, thanks for the correction.  I have also noticed the Atlas js includes.

The site itself doesn't particularly impress me, but that's because I've been jaded by AJAX sites like Google Calendar.  As for Microsoft standardizing it, uhh, aren't they the king of proprietizing?  That's still their business model - make it proprietary so that no competitors can come up and interoperate with their software.  I really don't think that they'll run with it and make an open standard and then adhere to that standard for years to come.

Nevertheless, it's nice to see that Microsoft has made a framework that lets you do AJAX coding without thinking about it.  It's up against other such frameworks, not the least of which is Google's public API.
Prayin' for a 20!

gcc thorin.c -pedantic -o Thorin
compile successful