<?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>Andrew Stevens &#187; frameworks</title>
	<atom:link href="http://andrewjstevens.com/tag/frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://andrewjstevens.com</link>
	<description>Technology, media, architecture &#38; strategy</description>
	<lastBuildDate>Tue, 27 Apr 2010 23:48:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>It is often said that the price of freedom is eternal vigilance</title>
		<link>http://andrewjstevens.com/2008/04/it-is-often-said-that-the-price-of-freedom-is-eternal-vigilance/</link>
		<comments>http://andrewjstevens.com/2008/04/it-is-often-said-that-the-price-of-freedom-is-eternal-vigilance/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 00:38:58 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.andrewjstevens.com/?p=47</guid>
		<description><![CDATA[Τείχη Χωρίς περίσκεψιν, χωρίς λύπην, χωρίς αιδώ μεγάλα κ&#8217; υψηλά τριγύρω μου έκτισαν τείχη. Και κάθομαι και απελπίζομαι τώρα εδώ. Αλλο δεν σκέπτομαι: τον νουν μου τρώγει αυτή η τύχη· διότι πράγματα πολλά έξω να κάμω είχον. Α όταν έκτιζαν τα τείχη πώς να μην προσέξω. Αλλά δεν άκουσα ποτέ κρότον κτιστών ή ήχον. Ανεπαισθήτως [...]]]></description>
			<content:encoded><![CDATA[<h2>Τείχη</h2>
<blockquote><p>Χωρίς περίσκεψιν, χωρίς λύπην, χωρίς αιδώ<br />
μεγάλα κ&#8217; υψηλά τριγύρω μου έκτισαν τείχη.</p>
<p>Και κάθομαι και απελπίζομαι τώρα εδώ.<br />
Αλλο δεν σκέπτομαι: τον νουν μου τρώγει αυτή η τύχη·</p>
<p>διότι πράγματα πολλά έξω να κάμω είχον.<br />
Α όταν έκτιζαν τα τείχη πώς να μην προσέξω.</p>
<p>Αλλά δεν άκουσα ποτέ κρότον κτιστών ή ήχον.<br />
Ανεπαισθήτως μ&#8217; έκλεισαν από τον κόσμον έξω.</p></blockquote>
<p><em>Κωνσταντίνος Π. Καβάφης (1896)</em><br />
 </p>
<h2>Walls</h2>
<blockquote><p>Without consideration, without pity, without shame<br />
they have built great and high walls around me.</p>
<p>And now I sit here and despair.<br />
I think of nothing else: this fate gnaws at my mind;</p>
<p>for I had many things to do outside.<br />
Ah why did I not pay attention when they were building the walls.</p>
<p>But I never heard any noise or sound of builders.<br />
Imperceptibly they shut me from the outside world.</p></blockquote>
<p><em>Constantine P. Cavafy (1896)</em>  </p>
<p>This quote originally in Greek (the article lead in) is something I came across today while researching frameworks, their features, design drivers and phases.</p>
<p>What are some of the results of this research?</p>
<p>When building a developer framework my design drivers are:</p>
<ul>
<li>Reusability – components, etc</li>
<li>Ease of use – creating and using components should be easily done through properties</li>
<li>Robustness – encourage the use of objects, methods &amp; properties. Error reporting, etc</li>
<li>Performance – inclusion of things like caching</li>
<li>Team integration – separation of application tiers &amp; components, build orchestration, versioning, etc</li>
<li>Support latest developer features – AJAX, syndication, web services, etc</li>
<li>Fully tested – thoroughly united tested and enterprise-ready to ensure safe and easy extension and maintenance.</li>
</ul>
<p>Required features:</p>
<ul>
<li>Core – cache, configuration, logging, debugging, validation, etc</li>
<li>MVC</li>
<li>Mail, formats and search – JSON, PDF, Mime, Mail, Search</li>
<li>Web and web services – consumption (REST client, XML-RPC client, HTTP Client), exposing services (HTTP server, REST Server, Server documenter, SOAP server, etc)</li>
<li>Authentication, authorisation and session management – ACL, authentication, session</li>
<li>Workflow</li>
<li>Internationalisation (i18n) and localisation (l10n) – date, locale, measure, translate</li>
<li>Datastore – database, XML, S3</li>
</ul>
<p>Other considerations:</p>
<ul>
<li>IDE integration</li>
<li>Development processes &#8211; agile, waterfall, spiral , etc</li>
<li>Coding conventions &amp; guidelines</li>
<li>Documentation</li>
<li>Copyright &amp; license</li>
<li>Version control</li>
<li>Testing</li>
<li>Build &amp; release methods</li>
<li>Build orchestration</li>
</ul>
<p>What are your thoughts?</p>
<p>BTW &#8211; If you&#8217;re wondering what the quote is all about, to me it represents the vigilance we all must pay to the world around us. We must not just accept what we are given and we should take every opportunity to ask <em>why</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://andrewjstevens.com/2008/04/it-is-often-said-that-the-price-of-freedom-is-eternal-vigilance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
