<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bin-Blog &#187; framework</title>
	<atom:link href="http://www.bin-co.com/blog/tag/framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bin-co.com/blog</link>
	<description>Learn about the latest in Web Development - as soon as I do.</description>
	<lastBuildDate>Tue, 13 Oct 2009 18:55:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>JSL &#8211; a New JavaScript Library</title>
		<link>http://www.bin-co.com/blog/2008/07/jsl-javascript-library/</link>
		<comments>http://www.bin-co.com/blog/2008/07/jsl-javascript-library/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 18:17:56 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[jsl]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/?p=119</guid>
		<description><![CDATA[Yesterday, I published a new JavaScript Library &#8211; JSL. It borrows many ideas from the famous jQuery library. Download Packed Version &#8211; 13 KB Source &#8211; 38 KB Features The Standard Stuff&#8230; CSS DOM Selectors Ajax Functions Event Handling is abstracted Ability to change style of an element. Extendable by Plugins Supports all Modern Browsers [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bin-co.com/blog/wp-content/uploads/2008/05/javascript_logo.jpg" alt="Javascript Rhino Logo" title="Javascript Logo" width="230" height="194" class="wp-image-109 intro" align="right" /></p>
<p class="intro">Yesterday, I published a new <a href="http://www.openjs.com/scripts/jslibrary/">JavaScript Library &#8211; JSL</a>. It borrows many ideas from the famous  <a href="http://jquery.com/">jQuery</a> library. </p>
<h2>Download</h2>
<ul>
<li><a href="http://www.openjs.com/scripts/jslibrary/releases/jsl.js">Packed Version</a> &#8211; 13 KB</li>
<li><a href="http://www.openjs.com/scripts/jslibrary/releases/jsl-src.js">Source</a> &#8211; 38 KB</li>
</ul>
<h2>Features</h2>
<p>The Standard Stuff&#8230;</p>
<ul>
<li>CSS DOM Selectors</li>
<li>Ajax Functions</li>
<li>Event Handling is abstracted</li>
<li>Ability to change style of an element.</li>
<li>Extendable by Plugins</li>
<li>Supports all Modern Browsers</li>
<li>And more&#8230;</li>
</ul>
<p>And then some&#8230;</p>
<ul>
<li>Function Chainability</li>
<li>Entire Library is 13 KB(un-gzipped)</li>
<li>Special handlers for <a href="http://projects.binnyva.com/wiki/JSL.array">Arrays</a>, <a href="http://projects.binnyva.com/wiki/JSL.number">Numbers</a></li>
<li>Extra Plugins for Unit Testing and Debugging</li>
<li>Functional Programming Encouraged (map, reduce, filter, etc functions in <a href="http://projects.binnyva.com/wiki/JSL.array">JSL.array</a>)</li>
</ul>
<h2>Missing Features</h2>
<dl>
<dt>XPath Selectors</dt>
<dd>Does anyone use XPath to select elements in JavaScript? I use CSS selectors for this all the time.</dd>
<dt>innerHTML Alternatives</dt>
<dd>I like innerHTML &#8211; so I did not include the <a href="http://www.openjs.com/scripts/createdom/">functions to create DOM elements</a>.</dd>
<dt>Animations/UI Elements</dt>
<dd>You will not see any animation functions in this library. Also, no Drag and Drop, sliders, JS dialog boxes and the like. Of course, I may write a plugin for these elements &#8211; but right now, they are not supported.</dd>
<dt>JavaScript Monkey-patching</dt>
<dd>I don&#8217;t do any <a href="http://www.prototypejs.org/">Prototype</a> style addition to JavaScript standard objects. I hate that &#8211; and so should you.</dd>
<dt>Functions in the global namespace</dt>
<dd>Everything that I do is under the JSL namespace &#8211; except for two shortcut functions &#8211; <code>jslib()</code> and <code>$()</code>. So my library adds only three global variables to the namespace &#8211; JSL, jslib, and $.</dd>
<dt>The <a href="http://en.wikipedia.org/wiki/Kitchen_sink_syndrome">Kitchen Sink</a></dt>
<dd>JSL is a small library &#8211; if you want a library with everything, opt for <a href="http://dojotoolkit.org/">Dojo</a> or <a href="http://developer.yahoo.com/yui/">YUI</a>.</dd>
</dl>
<h2>Some Sample Code</h2>
<h4>Using Event Handler&#8230;</h4>
<pre><code class="javascript">JSL.dom("a").click(function(e) { // Adds a click event handler to all links
	alert(this.href); //Shows the link URL
	JSL.event(e).stop(); //And stops the event from propagating any further
});</code></pre>
<h4>The $() Function&#8230;</h4>
<pre><code class="javascript">$("div.content p.intro a").setStyle({
	"text-decoration":"underline",
	"color":"red"
});</code></pre>
<p>And everything you expect to work with document.getElementById() works with $() as well&#8230;</p>
<pre><code class="javascript">$("element-id").innerHTML = "Hello World";
$("element-id").getElementsByTagName("a"); // Returns all the anchors under that element.</code></pre>
<p>See More <a href="http://www.openjs.com/scripts/jslibrary/preview.php">Sample Code</a></p>
<h2>JSL Links</h2>
<ul>
<li><a href="http://projects.binnyva.com/wiki/JSL">Documentation</a></li>
<li><a href="http://www.openjs.com/scripts/jslibrary/demos/">Demos of JSL in Action</a></li>
<li><a href="http://projects.binnyva.com/forum/viewforum.php?f=2">Support Forum</a></li>
<li><a href="http://www.openjs.com/scripts/jslibrary/code/trunk/">Code Repository</a></li>
</ul>
<h2>License</h2>
<p><a href="http://www.openjs.com/license.php">BSD, as always</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2008/07/jsl-javascript-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iFrame Features</title>
		<link>http://www.bin-co.com/blog/2007/05/iframe-features/</link>
		<comments>http://www.bin-co.com/blog/2007/05/iframe-features/#comments</comments>
		<pubDate>Tue, 22 May 2007 18:05:25 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/2007/05/iframe-features/</guid>
		<description><![CDATA[In the previous post I introduced my new PHP framework &#8211; iFrame. It had the reasons why you should not use the framework. In these post, I will talk of the advantages you get if you use my framework. But remember &#8211; do not use my framework. No routing &#8211; Fully file based There are [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/iframe-logo/' rel='attachment wp-att-20' title='iFrame Logo'><img class="intro" align="right" src='http://www.bin-co.com/blog/wp-content/uploads/2007/05/iframe.png' alt='iFrame Logo' /></a></p>
<p class="intro">In the previous post I introduced my new <a href="http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/">PHP framework &#8211; iFrame</a>. It had the reasons why you should not use the framework. In these post, I will talk of the advantages you get if you use my framework. But  remember &#8211; do not use my framework.</p>
<h2>No routing &#8211; Fully file based</h2>
<p>There are no complicated routing rules &#8211; the URL should specify which file should be used. For example&#8230;</p>
<p><code>http://www.example.com/user/create.php</code></p>
<p>Here, &#8216;user&#8217; is the controller and &#8216;create&#8217; is the action. </p>
<h2>Folder Structure</h2>
<p>Like many other frameworks, iFrame has a rigid folder structure.</p>
<pre>/
+-common.php
+-configuration.php
+-/includes/  #System files
+-index.php
+-/user/
	+-index.php
	+-<span class="special">create.php</span>
+-/templates/
	+-index.php
	+-/user/
		+-index.php
		+--<span class="highlight">create.php</span>
+-/js/
	+-/user/
		+--<span class="highlight">create.js</span>
+-/css/
	+-/user/
		+--<span class="highlight">create.css</span>
</pre>
<h2>Auto inclusion of CSS/JS files</h2>
<p>The system will auto include the CSS/JS files with the same file name as the current file &#8211; the files highlighted in the above &#8216;Folder Structure&#8217; will be included automatically when ever the create.php file is called.</p>
<h2>Library for Paging/Tagging</h2>
<p>These two classes are great time savers. Unfortunatly they have no documentation &#8211; yet.</p>
<h2>Small/Manageable Files</h2>
<p>The framework forces the code to be broken down into smaller parts. In this framework, one action is one file &#8211; instead of one controller per file as in other frameworks. I find this easier to manage than the other approch.</p>
<h2>Uses OOPs only when it is required</h2>
<p>I only use Object Oriented Programming only if there is a clear need to use it. This step made the system much simpler.</p>
<h2>Three Layers</h2>
<p>This framework tries to follow both MVC(server side 3 layer) and Content/Behavior/Presentation(client side 3 layer) approaches.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2007/05/iframe-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iFrame &#8211; My PHP Framework</title>
		<link>http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/</link>
		<comments>http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/#comments</comments>
		<pubDate>Fri, 18 May 2007 08:35:50 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/</guid>
		<description><![CDATA[I have created a number of Web Applications &#8211; Nexty and Jus5 are just a few examples. I used a common code base when creating these sites &#8211; but I did not consider it a full fledged framework. However, now the code base has evolved enough to be called a framework. So, I called it [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/iframe-logo/' rel='attachment wp-att-20' title='iFrame Logo'><img class="intro" align="right" src='http://www.bin-co.com/blog/wp-content/uploads/2007/05/iframe.png' alt='iFrame Logo' /></a></p>
<p class="intro">I have created a number of Web Applications &#8211; <a href="http://www.bin-co.com/blog/2007/04/nexty-10-released/">Nexty</a> and <a href="http://www.bin-co.com/blog/2007/05/jus5-light-weight-cms/">Jus5</a> are just a few examples. I used a common code base when creating these sites &#8211; but I did not consider it a full fledged framework. However, now the code base has evolved enough to be called a framework. So, I called it a framework &#8211; <strong class="highlight">the <a href="http://www.bin-co.com/php/scripts/iframe/">iFrame</a> framework</strong>. I know, lame joke &#8211; geek humor <img src='http://www.bin-co.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Before moving further, a word of warning &#8211; <strong class="highlight">Do not use this framework</strong> for your project. There are plenty of great PHP frameworks out there &#8211; use one of those. For example&#8230;</p>
<ul>
<li><a href="http://www.cakephp.org/">CakePHP</a></li>
<li><a href="http://codeigniter.com/">CodeIgniter</a></li>
<li><a href="http://www.symfony-project.com/">Symfony</a></li>
<li><a href="http://framework.zend.com/">ZendPHP</a></li>
</ul>
<p><strong class="highlight">These are professional, enterprise level frameworks</strong>. They are secure, well designed and documented. Use any of those when creating your site &#8211; do not use mine. There are no legal restrictions &#8211; the code for iFrame is under BSD License. These are the reasons why you should not use my framework&#8230;</p>
<h2>Disadvantages</h2>
<dl>
<dt>Documentation</dt>
<dd>Many Users of frameworks complain that there is not enough documentation. My framework has no such problems &#8211; it has <strong>no documentation whatsoever </strong>. They only way to find what a function is supposed to do, is to read the code.</dd>
<dt>Bugs</dt>
<dd>This system is developed, used and tested by just one person &#8211; me. So, there are many yet undiscovered bugs.</dd>
<dt>No <abbr title="Object Relation Mapping">ORM</abbr></dt>
<dd>Those who are in love with ORM will be disappointed when using iFrame &#8211; I have not implemented ORM.</dd>
<dt>Currently, only MySQL is supported</dt>
<dd>There is a database abstraction layer &#8211; but as of yet, only MySQL is supported.</dd>
<dt>And a lot more other reasons</dt>
<dd>The reasons why you should not use this framework is too numerous to list here.</dd>
</dl>
<h2>Advantages</h2>
<p>Despite all the given disadvantages, I will use this framework &#8211; these are the reasons for that&#8230;</p>
<dl>
<dt>Lightweight</dt>
<dd>This is the most lightweight framework that I have ever seen.</dd>
<dt>Helpful functions that reduce coding time</dt>
<dd>
<p>All my PHP functions are available in the framework &#8211; If you know how to use them, these functions save a lot of time. For example&#8230;</p>
<ul>
<li><a href="http://www.bin-co.com/php/scripts/upload_function/">upload()</a></li>
<li><a href="http://www.bin-co.com/php/scripts/dump/">dump()</a></li>
<li><a href="http://www.bin-co.com/php/scripts/xml2array/">xml2array()</a></li>
<li><a href="http://www.bin-co.com/php/scripts/array2json/">array2json()</a></li>
<li>And more&#8230;</li>
</ul>
</dd>
<dt>Encourages clean code</dt>
<dd>iFrame is an MVC framework(although the &#8216;Model&#8217; is a bit limited for now). By default, each controller has its own folder and each action has its own file. This will greatly increase the number of files &#8211; but will reduce the number of lines in each file. Some might find it hard to use &#8211; but I find it more manageable this way.</dd>
<dt>A lot of cool features</dt>
<dd>I will talk about these &#8216;cool features&#8217; in the next post.</dd>
</dl>
<h2>Code</h2>
<p>What good is a framework without the code&#8230;</p>
<p><a href="http://www.bin-co.com/php/scripts/iframe/code/">View the iFrame code online</a></p>
<p>You can get the code from my subversion server &#8211; use this command&#8230;</p>
<p><code>svn checkout http://www.bin-co.com/php/scripts/iframe/code/ iframe</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2007/05/iframe-my-php-framework/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Nexty 1.0 Released</title>
		<link>http://www.bin-co.com/blog/2007/04/nexty-10-released/</link>
		<comments>http://www.bin-co.com/blog/2007/04/nexty-10-released/#comments</comments>
		<pubDate>Sun, 29 Apr 2007 19:10:30 +0000</pubDate>
		<dc:creator>Binny V A</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[nexty]]></category>
		<category><![CDATA[todo]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web-app]]></category>

		<guid isPermaLink="false">http://www.bin-co.com/blog/2007/04/nexty-10-released/</guid>
		<description><![CDATA[Remember Nexty, the easy to use to-Do list manager using GTD principles? Well, that is ready for public release. Nexty is a easy to use GTD tool created in PHP. It can be installed in a local server or in a online web server. The core idea behind this software is simplicity. I wanted to [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.bin-co.com/blog/wp-content/uploads/2007/04/nexty_logo.png' alt='Nexty Logo' class="intro" align="right" /></p>
<p class="intro">Remember <a href="http://binnyva.blogspot.com/2007/02/nexty-beta-released.html">Nexty</a>, the easy to use to-Do list manager using GTD principles? Well, that is ready for <a href="http://nexty.sourceforge.net/">public release</a>.</p>
<p>Nexty is a easy to use GTD tool created in PHP. It can be installed in a local server or in a online web server. The core idea behind this software is simplicity. I wanted to make a GTD tool that is the most easy to use.</p>
<h2>Nexty Links</h2>
<ul>
<li><a href="http://nexty.sourceforge.net/">Nexty</a></li>
<li><a href="http://www.bin-co.com/php/programs/apps/nexty/demo/">Demo</a></li>
<li><a href="http://sourceforge.net/projects/nexty">Project Page</a></li>
<li><a href="http://nexty.svn.sourceforge.net/viewvc/nexty/">Code (SVN Repository)</a></li>
<li><a href="http://sourceforge.net/project/downloading.php?group_id=188197&amp;filename=nexty_1.00.a.tar.gz">Download</a></li>
</ul>
<p>The next project is ready &#8211; watch this space for its announcement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bin-co.com/blog/2007/04/nexty-10-released/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

