<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Xopus Application Framework: Objective-J Done Different</title>
	<atom:link href="http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Laurens</title>
		<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/comment-page-1#comment-271420</link>
		<dc:creator>Laurens</dc:creator>
		<pubDate>Wed, 18 Feb 2009 11:07:06 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5981#comment-271420</guid>
		<description>Disclaimer: We have no plans to release XAF. This blogpost was just meant for inspiration and sharing of knowledge. Feel free to contact us if you want to know more.

&gt; It’s a shame that few Class implementations keep an eye on whats planned for ES3.1+.

We wanted the uncompiled code to be syntactically correct Javascript. This allows us to have any off-the-shelf Javascript engine parse our code and run the compilation. In fact, if we don&#039;t use the serverside compilation step, the code will compile itself in the client (which takes much longer due to HTTP overhead). So we couldn&#039;t defer from what browers understand today.

&gt; who else will be able to read your code?

The flexibility of Javascript can easily lead to unreadable code, we think having a framework and the code guidelines that go with it make our code more readable. Our newest team member can confirm that. 

Also keep in mind that it still is Javascript syntax, so you can use what you&#039;ve learned elsewhere. And we can take the code and embed it in another code base (which we do when we backport code to Xopus 3).

&gt; “Keep it simple stupid” comes to mind when I see some of these projects.

We feel we have kept it as simple stupid as possible. We have not written our own parser for instance. But with the metrics of our product we need at least packages, namespaces, dependency checking, (multiple) inheritance, event handling and unit testing. We found no other framework that could give us that. (We currently have 600+ classes in 180+ namespaces, 1300+ handcrafted unit tests, 3K+ generated unit tests, 2.1MB of code which compiles to 2.5MB of Javascript which is &lt;a href=&quot;http://xopus.com/devblog/2007/javascript-obfuscation.html&quot; rel=&quot;nofollow&quot;&gt;obfuscated&lt;/a&gt; to about 900KB when shipped.) We have tried to take Plain Old Javascript as far as possible for about 7 years, but it reached its limits. We are now using XAF for almost 2 years and it works very well for us.

&gt; Did they implement soft typing?

Yes, we can have the compiler add runtime type checks at development time which will be omitted in the shipped code.</description>
		<content:encoded><![CDATA[<p>Disclaimer: We have no plans to release XAF. This blogpost was just meant for inspiration and sharing of knowledge. Feel free to contact us if you want to know more.</p>
<p>&gt; It’s a shame that few Class implementations keep an eye on whats planned for ES3.1+.</p>
<p>We wanted the uncompiled code to be syntactically correct Javascript. This allows us to have any off-the-shelf Javascript engine parse our code and run the compilation. In fact, if we don&#8217;t use the serverside compilation step, the code will compile itself in the client (which takes much longer due to HTTP overhead). So we couldn&#8217;t defer from what browers understand today.</p>
<p>&gt; who else will be able to read your code?</p>
<p>The flexibility of Javascript can easily lead to unreadable code, we think having a framework and the code guidelines that go with it make our code more readable. Our newest team member can confirm that. </p>
<p>Also keep in mind that it still is Javascript syntax, so you can use what you&#8217;ve learned elsewhere. And we can take the code and embed it in another code base (which we do when we backport code to Xopus 3).</p>
<p>&gt; “Keep it simple stupid” comes to mind when I see some of these projects.</p>
<p>We feel we have kept it as simple stupid as possible. We have not written our own parser for instance. But with the metrics of our product we need at least packages, namespaces, dependency checking, (multiple) inheritance, event handling and unit testing. We found no other framework that could give us that. (We currently have 600+ classes in 180+ namespaces, 1300+ handcrafted unit tests, 3K+ generated unit tests, 2.1MB of code which compiles to 2.5MB of Javascript which is <a href="http://xopus.com/devblog/2007/javascript-obfuscation.html" rel="nofollow">obfuscated</a> to about 900KB when shipped.) We have tried to take Plain Old Javascript as far as possible for about 7 years, but it reached its limits. We are now using XAF for almost 2 years and it works very well for us.</p>
<p>&gt; Did they implement soft typing?</p>
<p>Yes, we can have the compiler add runtime type checks at development time which will be omitted in the shipped code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chiaroscuro</title>
		<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/comment-page-1#comment-271419</link>
		<dc:creator>chiaroscuro</dc:creator>
		<pubDate>Wed, 18 Feb 2009 06:03:07 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5981#comment-271419</guid>
		<description>&gt; Some forms of program veri[fi]cation

Sounds interesting. Did they implement soft typing?

&gt; Inheritance

The feature everybody is missing. :)</description>
		<content:encoded><![CDATA[<p>&gt; Some forms of program veri[fi]cation</p>
<p>Sounds interesting. Did they implement soft typing?</p>
<p>&gt; Inheritance</p>
<p>The feature everybody is missing. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pplante</title>
		<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/comment-page-1#comment-271418</link>
		<dc:creator>pplante</dc:creator>
		<pubDate>Wed, 18 Feb 2009 05:56:45 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5981#comment-271418</guid>
		<description>I hate to be the one to say it, but why?  &quot;Compiling&quot; javascript from a mess into a larger mess seems like a major step backwards in terms of readability and reusability for future projects.

&quot;Keep it simple stupid&quot; comes to mind when I see some of these projects.</description>
		<content:encoded><![CDATA[<p>I hate to be the one to say it, but why?  &#8220;Compiling&#8221; javascript from a mess into a larger mess seems like a major step backwards in terms of readability and reusability for future projects.</p>
<p>&#8220;Keep it simple stupid&#8221; comes to mind when I see some of these projects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PieturP</title>
		<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/comment-page-1#comment-271417</link>
		<dc:creator>PieturP</dc:creator>
		<pubDate>Wed, 18 Feb 2009 00:16:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5981#comment-271417</guid>
		<description>@ whylom: You have! It&#039;s right on the page you&#039;re linking to. :-)</description>
		<content:encoded><![CDATA[<p>@ whylom: You have! It&#8217;s right on the page you&#8217;re linking to. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: whylom</title>
		<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/comment-page-1#comment-271415</link>
		<dc:creator>whylom</dc:creator>
		<pubDate>Tue, 17 Feb 2009 23:07:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5981#comment-271415</guid>
		<description>Assuming you buy into the idea of compiling to JavaScript, this appears to be a very well thought-out approach.  I love-love-love the idea of coding annotations to be removed by the compiler.  You can use it for conditional compilation, testing, profiling, coverage, and, of course, documentation.  And they claim to have hit all these sweet spots - bravo!

I&#039;m not crazy about the way they ask you to express method modifiers:

&lt;code&gt; 
Class(
    Static, function() { ... }
)
&lt;/code&gt;

A slight change in formatting renders this syntax well-nigh unreadable, IMHO.</description>
		<content:encoded><![CDATA[<p>Assuming you buy into the idea of compiling to JavaScript, this appears to be a very well thought-out approach.  I love-love-love the idea of coding annotations to be removed by the compiler.  You can use it for conditional compilation, testing, profiling, coverage, and, of course, documentation.  And they claim to have hit all these sweet spots &#8211; bravo!</p>
<p>I&#8217;m not crazy about the way they ask you to express method modifiers:</p>
<p><code><br />
Class(<br />
    Static, function() { ... }<br />
)<br />
</code></p>
<p>A slight change in formatting renders this syntax well-nigh unreadable, IMHO.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TNO</title>
		<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/comment-page-1#comment-271410</link>
		<dc:creator>TNO</dc:creator>
		<pubDate>Tue, 17 Feb 2009 16:53:44 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5981#comment-271410</guid>
		<description>&lt;b&gt;There are so many ways to add classes to JS that it’s dizzying.&lt;/b&gt;
.
It&#039;s a shame that few Class implementations  keep an eye on whats planned for ES3.1+.</description>
		<content:encoded><![CDATA[<p><b>There are so many ways to add classes to JS that it’s dizzying.</b><br />
.<br />
It&#8217;s a shame that few Class implementations  keep an eye on whats planned for ES3.1+.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nosredna</title>
		<link>http://ajaxian.com/archives/xopus-application-framework-objective-j-done-different/comment-page-1#comment-271408</link>
		<dc:creator>Nosredna</dc:creator>
		<pubDate>Tue, 17 Feb 2009 16:14:01 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=5981#comment-271408</guid>
		<description>There are so many ways to add classes to JS that it&#039;s dizzying. My chief concern: who else will be able to read your code?

That said, I like the looks of Joose, and Objective-J is creeping up my radar as I learn Objective-C for the iPhone.</description>
		<content:encoded><![CDATA[<p>There are so many ways to add classes to JS that it&#8217;s dizzying. My chief concern: who else will be able to read your code?</p>
<p>That said, I like the looks of Joose, and Objective-J is creeping up my radar as I learn Objective-C for the iPhone.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

