<?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>1stwebdesigner - Graphic and Web Design Blog &#187; framework</title>
	<atom:link href="http://www.1stwebdesigner.com/tag/framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.1stwebdesigner.com</link>
	<description>1stwebdesigner is a design blog dedicated to bloggers, freelancers, web-developers and designers. Topics focus on web design and inspirational articles.</description>
	<lastBuildDate>Sun, 12 Feb 2012 13:09:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>An Introduction to Object Oriented CSS</title>
		<link>http://www.1stwebdesigner.com/css/object-oriented-css/</link>
		<comments>http://www.1stwebdesigner.com/css/object-oriented-css/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 10:00:26 +0000</pubDate>
		<dc:creator>Ranjith Kumar</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[CSS design]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[semantics]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=49102</guid>
		<description><![CDATA[With richer interactions and media heavy pages mushrooming on the web, creating web pages, which load faster and respond well has become a challenge. Separating the content, presentation and behavior of a page using HTML, CSS and JS, is not the only thing that front-end engineers have to concentrate on nowadays. The limelight is now [...]]]></description>
			<content:encoded><![CDATA[<p>With richer interactions and media heavy pages mushrooming on the web, creating web pages, which load faster and respond well has become a challenge. Separating the content, presentation and behavior of a page using HTML, CSS and JS, is not the only thing that front-end engineers have to concentrate on nowadays. The limelight is now on the performance of the pages, cleanliness and leanness of the code within, scalability and reusability of CSS, and the semantic correctness of the markup.</p>
<p>There are a handful of frameworks, techniques and approaches that are built towards this goal of maintainability, scalability and reusability of CSS. Each of them is having its own pros and cons. But, this is not a stage to elaborate on all of them.</p>
<p>This article is an introduction to implementing the concept of ‘Object Oriented Programming’ in building CSS for high scale websites and applications, with an eye on maintainability and reusability.</p>
<p><span id="more-49102"></span></p>
<h2><strong>What is OO CSS?</strong></h2>
<p><img class="alignleft size-full wp-image-49113" style="padding: 10px;" title="thmb3" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/06/thmb3.jpg" alt="" width="180" height="150" />The concept of ‘Object Oriented Programming’, is widespread among developers, and forms the basic for any modern programming language. Features like data abstraction, modularity and inheritance make it a favorite in coding large-scale applications.</p>
<p>Object Oriented CSS, as the name suggests, is implementing the concepts of OOP in structuring and building CSS rules, which are easy to reuse, thereby reducing the loading time and increasing the performance of web pages incredibly! The key point here is, to identify, build and style modular reusable ‘objects’ in a page, and to reuse it in multiple instances by extending them with additional features wherever needed. Here an ‘object’ refers to the basic HTML markup and its CSS rules. Apparently, here, the key challenge is going to be, identifying the ‘object’ and building rules for it.</p>
<p>This is neither a framework nor a technology, but an approach adopted in building the rules, so as to make the code more reusable, maintainable and scalable. You may already have been making use of this concept in coding your style-sheet for years, but may not be aware of this terminology :).</p>
<p>A UI engineer at Yahoo (‘<a href="http://www.stubbornella.org/content/nicole-sullivan/" target="_blank">Nicole Sullivan’ )</a> coined the term. She had made a number of presentations on the topic on various big stages (<a href="http://developer.yahoo.net/blogs/theater/archives/2009/03/website_and_webapp_performance.html">http://developer.yahoo.net/blogs/theater/archives/2009/03/website_and_webapp_performance.html</a>) and is also included in a feature on <a href="http://www.wait-till-i.com/2009/03/24/ada-lovelace-day-women-in-technology-i-admire/" target="_blank">Women in Technology</a>.</p>
<p>Nicole, who has been hired by Facebook recently, for optimizing the CSS and web page performance, has been leading the way in implementing this approach in the pages for the social networking giant, and the results are to be seen. A faster loading FB, with significantly less response time! This is exactly what this approach of building CSS promises to give back. But again, like all other frameworks, this too has pitfalls and advantages which we shall discuss in detail.</p>
<p>Following are some key aspects in object-oriented approach to CSS building:</p>
<ol>
<li>Create a component library</li>
<li>Separate container and content / Avoid Location dependent styles</li>
<li>Separate Structure and skin</li>
<li>Extend base objects using class names</li>
<li>Stick to semantic class names</li>
</ol>
<h3><strong>Create a component library</strong></h3>
<p><img class="alignleft size-full wp-image-49114" style="padding: 10px;" title="thumb4" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/06/thumb42.jpg" alt="" width="180" height="150" />This is the first thing to do, while building a OO CSS framework for your application, and this is the most time consuming process too. You will have to carefully study the screens of the app, and come up with the recurring reusable UI patterns, and will have to create a library consisting of HTML markup and respective CSS rules of all such components first. This may take some initial time, as you may need to filter out the components and find out the basic structure of a component, and its variations along different screens.</p>
<p>E.g. For a blog, ‘metadata (Refer to the marked area in the figure below)’ will be present in multiple instances of a page. After closer scrutiny, you will come to know that, all the metadata can have the same HTML markup, and the variations can be addressed using CSS (the font size, color, margin and padding are different in each of the occurrences of metadata component). Select a markup, as a base structure, in which you can accommodate majority of the elements that possibly can come in the particular component.</p>
<p><img class="size-full wp-image-49124 alignnone" style="padding: 10px;" title="thumb1" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/06/thumb13.jpg" alt="" width="574" height="430" /></p>
<p>In our example our basic structure of the ‘metadata’ component will be:</p>
<h3>Base Markup</h3>
<pre class="brush: xml; title: ; notranslate">

&lt;p class=”metadata”&gt;&lt;a&gt;Author name&lt;/a&gt;commented on&lt;a&gt;21-02-2010&lt;/a&gt;@&lt;/p&gt;
</pre>
<h3>Base rule</h3>
<pre class="brush: xml; title: ; notranslate">

.metadata{font-size:1.2em; text-align:left; margin:10px 0;}
</pre>
<p>Thus, ‘metadata’ can be now independently used within any other element in the markup, and will have a consistent look and feel, irrespective of where it is used. But as we can see in the figure above, there are multiple variations of the component. This we will tackle using CSS, and will be discussing in the following points.</p>
<p>This way, figure out all the reusable components, and create rules and markup, and group them separately in the CSS file. (It’s even fine to create a separate CSS for the component library, and then merge it with others later during deployment.)</p>
<h3><strong>Separate Content from Container / Avoid location dependent styles</strong></h3>
<p>This is one of the primary requirements of following an OO approach to building CSS files. The core idea here is to consciously differentiate the rules of containers and the content that comes within them, so that content can be plugged into any containers irrespective of their parents.</p>
<p>Often while building large-scale CSS rules there will be instances where a single component will be appearing differently in various instances, when put in different containers. One of the solutions adopted by front-end engineers, for addressing this problem was to assign location dependent selectors to that particular component.</p>
<p>E.g. With reference to the example used in the previous point, where there are multiple variations of the same component – ‘metadata’, each instance can be given location dependent rules by combining the base class ‘metadata’ with the relevant classes/IDs for the containers. i.e.,</p>
<p>‘metadata’ in a blog post can be styled as: <em>.post .metadata{overriding rules}</em><br />
‘metadata’ in a comment can be styled as: <em>.comment .metadata{overriding rules}</em><br />
‘metadata’ in a comment can be styled as: <em>.comment .metadata{overriding rules}</em></p>
<p>The OOCSS approach advocates avoiding this type of usage. Instead <strong>extend</strong> the base class by adding more classes, thereby extending the attributes of the base component to match the variation. We shall discuss the concept of extending the base class in the following points.</p>
<h3><strong>Separate structure and skin</strong></h3>
<p><a rel="attachment wp-att-49115" href="http://www.1stwebdesigner.com/css/object-oriented-css/attachment/thumb5-3/"><img class="alignleft size-full wp-image-49115" style="padding: 10px;" title="thumb5" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/06/thumb52.jpg" alt="" width="180" height="150" /></a>In the first point ‘Creating component library’, we discussed the importance of identifying reusable components, and building base classes and base structures for them. While creating those base rules, an important thing to keep in mind is to separate the structure and skin. In other words, while defining a base class in the component library, we should not create skin-level rules, like width, height, background images, border styles, etc, that can make the component more specific to a certain container.</p>
<p>E.g. For our base class, ‘metadata’ with the following rule</p>
<pre class="brush: css; title: ; notranslate">
.metadata{font-size:1.2em; margin:10px 0;},
</pre>
<p>Adding more skin-level rules as below,</p>
<pre class="brush: css; title: ; notranslate">

.metadata{font-size:1.2em; margin:10px 0; &lt;strong&gt;width:500px; background-color:#efefef; color:#fff;&lt;/strong&gt;},
</pre>
<p>can make it more of a specific component than a generic one, thereby making it difficult to reuse it in many other containers, which would need it to be rendered in a different ‘skin’. Also another danger of not separating structure and skin will be the ‘Specificity war’.</p>
<h3><strong>Extend base objects using class names</strong></h3>
<p><a rel="attachment wp-att-49116" href="http://www.1stwebdesigner.com/css/object-oriented-css/attachment/thumb6-3/"><img class="alignleft size-full wp-image-49116" style="padding: 10px;" title="thumb6" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/06/thumb62.jpg" alt="" width="180" height="150" /></a>As discussed in the second point ‘Separate content from container’, avoiding the usage of contextual selectors will make the content independent from their parent containers and hence will be truly usable across the application. So how do we instantiate the variations of the same object in different containers? What is the solution? Well here comes the concept of <strong>extending</strong> the base ‘object’ (again another term coined by Nicole Sullivan), by adding more class names to it depending on the context, rather than tightly coupling the object with the class names of the containers in which it is to be placed.</p>
<p>E.g. In the first figure of the ‘metadata’ object, where the same object needs to be rendered differently in various containers,</p>
<p>The HTML markup of each of them will look like:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;p class=”metadata commentmetadata”&gt;&lt;a&gt;Authorname&lt;/a&gt;commented on&lt;a&gt;21-02-2010&lt;/a&gt;@&lt;/p&gt;
&lt;p class=”metadata postmetadata”&gt;&lt;a&gt;Authorname&lt;/a&gt;commented on&lt;a&gt;21-02-2010&lt;/a&gt;@&lt;/p&gt;
&lt;p class=”metadata authorlistmetadata”&gt;&lt;a&gt;Authorname&lt;/a&gt;commented on&lt;a&gt;21-02-2010&lt;/a&gt;@&lt;/p&gt;
</pre>
<p>The CSS rules will be:</p>
<pre class="brush: css; title: ; notranslate">

.metadata{font-size:1.2em; margin:10px 0;}
.commentmetadata{font-size:1em; margin:0 0 10px 0; color:#063070; }
.postmetadata{ color:#063070; }
.authormetadata{ color:#fff; }
</pre>
<p>This is a very simple demonstration, to comprehend the concept of implementing OO programming. As the size of the app becomes larger, the UI patterns will become more complex, and there lies the actual challenge and advantage of using such an approach.</p>
<h3><strong>Stick to semantic class names</strong></h3>
<p>A challenge in building CSS for high-scale web applications is to logically come up with meaningful class / ID names matching with the context and moreover making sure, they are reusable and still make sense. With the concept of ‘extending’ base objects, it’s easy to fall into the practice of creating ‘presentational class names’. Some easy examples are ‘leftCol’, ‘redText’, ‘midCol’, ‘bigText’, ‘bolderText’ etc. Such class names are not reusable and are a hindrance to scalability.</p>
<p>Always stick to logical and semantic class names relating to the logical meaning of the component, rather than its presentational meaning. It means, instead of giving the text block with a yellow background color, the class name ‘yellowText’, ‘notification’ would be a more sensible name, as it is a notification element that pops out to notify some activities within the system.<strong> </strong></p>
<h3><strong>Pros and Cons?</strong></h3>
<p>Following such an approach of building CSS has its own pitfalls and advantages</p>
<p>Here are a few cases, where adopting such a framework ‘may’ backfire:</p>
<ol>
<li>OOCSS is suited to really large websites / application which are filled with reusable components. It may not give desired results in smaller websites and applications. So decide sensibly depending on the size of the work in hand</li>
<li>If not smartly used, creating the component library can turn out to be a mess, and become a maintenance nightmare for other coders</li>
<li>Documentation is a must. Each block of code should be clearly commented out with the right points for other coders to absorb the concept, which otherwise can become too tedious in case of a knowledge transition</li>
</ol>
<p>Some obvious advantages of adopting this approach are:</p>
<ol>
<li>Less lines of CSS code</li>
<li>Cleaner HTML markup, with logically sensible class names and hierarchy</li>
<li>Semantic markup, means more SEO friendly pages</li>
<li>Far better page optimization, with much faster loading times, since most of the components are reused</li>
<li>Scalable markup and CSS code, where more components can be added into the library without disturbing other components, as the base objects are independent of any other containers</li>
<li>Easily theme-able layouts, since changes to the base object can completely change almost the whole presentation layer instantly</li>
</ol>
<h3><strong>Courtesy &amp; Resources</strong></h3>
<p><a href="http://www.stubbornella.org/content/2009/02/28/object-oriented-css-grids-on-github/">http://www.webdirections.org/blog/object-oriented-css-the-video/</p>
<p>http://www.stubbornella.org/content/2009/02/28/object-oriented-css-grids-on-github/</a></p>
<p><a href="http://www.iconfinder.com">http://www.iconfinder.com</a> for all the icon resources</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/css/object-oriented-css/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Pros And Cons Of Using Frameworks</title>
		<link>http://www.1stwebdesigner.com/design/pros-cons-frameworks/</link>
		<comments>http://www.1stwebdesigner.com/design/pros-cons-frameworks/#comments</comments>
		<pubDate>Sat, 28 May 2011 10:00:44 +0000</pubDate>
		<dc:creator>Ruben D'Oliveira</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=46513</guid>
		<description><![CDATA[Sometimes you should ask yourself, why you need to do the same thing everyday when there&#8217;s a new bridge to shorten the path. Think of a framework as a bridge that will help you code faster and easier. Did you notice I didn&#8217;t include the word &#8220;better&#8221; in the last sentence? Faster and easier doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes you should ask yourself, why you need to do the same thing everyday when there&#8217;s a new bridge to shorten the path. Think of a framework as a bridge that will help you code <strong>faster </strong>and <strong>easier</strong>. Did you notice I didn&#8217;t include the word &#8220;<strong>better</strong>&#8221; in the last sentence? Faster and easier doesn&#8217;t always mean better, but we will get to that later.</p>
<p>First things first, so what is a framework really? It actually depends on the context it is used. It can be defined as an abstraction tool that makes it easier to develop applications and reuse code.</p>
<p><span style="color: #888888;"><em>&#8220;The framework aims to alleviate the overhead associated with common activities performed in Web development&#8230; and they often promote code reuse.&#8221;<br />
</em></span></p>
<p>Like everything else, when it comes to its use, a framework has advantages and downsides. Below is a list of some important facts you should consider, before you decide to start learning or using one.</p>
<p><span id="more-46513"></span></p>
<h2><span style="color: #000000;">Pros</span></h2>
<p><a href="http://www.flickr.com/photos/eyesplash/4332397307/"><img class="alignnone size-full wp-image-47509" title="pros-cons-pros-of-using-a-framework" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/pros-cons-pros-of-using-a-framework.jpg" alt="Pros of using a framework" width="570" height="300" /></a></p>
<h3><strong>Efficiency</strong></h3>
<p>Tasks that usually would take you hours and hundreds of lines of code to write, can now be done in minutes with pre-built functions. Development becomes a lot easier, so if it&#8217;s easier it&#8217;s faster, and consequently efficient.</p>
<h3><strong>Security</strong></h3>
<p>A widely used framework has big security implementations. The big advantage is the community behind it, where users become long-term testers. If you find a vulnerability or a security hole, you can go to the framework&#8217;s website and let the team know so they can fix it.</p>
<h3><strong>Cost</strong></h3>
<p><strong> </strong>Most popular frameworks are free, and since it also helps the developer to code faster, the cost for the final client will be smaller.</p>
<h3><strong>Support</strong></h3>
<p>As any other distributed tool, a framework usually comes with documentation, a support team, or big community forums where you can obtain quick answers.</p>
<h2><span style="color: #000000;">Cons</span></h2>
<p><a href="http://www.flickr.com/photos/natalielucier/3623933920/"><img class="alignnone size-full wp-image-47513" title="cons-cons-pros-of-using-a-framework" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/cons-cons-pros-of-using-a-framework.jpg" alt="Cons" width="570" height="300" /></a></p>
<h3><strong>You learn the framework, not the language</strong></h3>
<p>I believe this to be the major problem. If you&#8217;re using a framework and you know very little about the language behind it, you will learn the framework and not the language itself. The way you code jQuery is different from the way you code javascript. Simple put, if you know jQuery, it doesn&#8217;t mean you know javascript.</p>
<h3><strong>Limitation</strong></h3>
<p>The framework&#8217;s core behaviour can&#8217;t be modified, meaning that when you use a framework, you are forced to respect its limits and work the way it is required. Make sure you choose a framework that suits your needs.</p>
<h3><strong>Code is public</strong></h3>
<p>Since the framework is available to everyone, it is also available to people with bad intentions. It can be studied in order to know how things work and to find flaws that can be used against you.</p>
<h2><span style="color: #000000;">JavaScript Frameworks</span></h2>
<h3><strong>jQuery</strong></h3>
<p><strong><a href="http://jquery.com/"></a></strong><a href="http://jquery.com/">http://jquery.com/</a></p>
<p><a href="http://jquery.com/"></a>jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.</p>
<p><strong><a href="http://jquery.com/"><img title="jquery-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/jquery-prepare-web-design-project.jpg" alt="jQuery" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>Prototype</strong></h3>
<p><strong><a href="http://www.prototypejs.org/"></a></strong><a href="http://www.prototypejs.org/">http://www.prototypejs.org/</a></p>
<p><a href="http://www.prototypejs.org/"></a>Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere.</p>
<p><strong><a href="http://www.prototypejs.org/"><img title="prototype-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/prototype-pros-cons-of-using-frameworks.jpg" alt="Prototype" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>Mootools</strong></h3>
<p><strong><a href="http://mootools.net/"></a></strong><a href="http://mootools.net/">http://mootools.net/</a></p>
<p><a href="http://mootools.net/"></a>MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.</p>
<p><strong><a href="http://mootools.net/"><img title="mootools-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/mootools-pros-cons-of-using-frameworks.jpg" alt="Mootools" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h2><span style="color: #000000;">PHP Frameworks</span></h2>
<h3><strong>CodeIgniter</strong></h3>
<p><strong><a href="http://codeigniter.com/"></a></strong><a href="http://codeigniter.com/">http://codeigniter.com/</a></p>
<p><a href="http://codeigniter.com/"></a>CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications.</p>
<p><strong><a href="http://codeigniter.com/"><img title="codeigniter-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/codeigniter-pros-cons-of-using-frameworks.jpg" alt="Codeigniter" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>CakePHP</strong></h3>
<p><strong><a href="http://cakephp.org/"></a></strong><a href="http://cakephp.org/">http://cakephp.org/</a></p>
<p><a href="http://cakephp.org/"></a>CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications.</p>
<p><strong><a href="http://cakephp.org/"><img title="cakephp-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/cakephp-pros-cons-of-using-frameworks.jpg" alt="CakePHP" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>Symfony</strong></h3>
<p><a href="http://www.symfony-project.org/">http://www.symfony-project.org/</a><strong><br />
</strong></p>
<p>Symfony is a full-stack framework, a library of cohesive classes written in PHP.</p>
<p><strong><a href="http://www.symfony-project.org/"><img title="symfony-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/symfony-pros-cons-of-using-frameworks1.jpg" alt="Symfony" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h2><span style="color: #000000;">Mobile Frameworks</span></h2>
<h3><strong> </strong><strong>jQuery Mobile</strong></h3>
<p><strong> </strong><a href="http://jquerymobile.com/">http://jquerymobile.com/</a></p>
<p><a href="http://jquerymobile.com/"></a>Query mobile framework takes the &#8220;write less, do more&#8221; mantra to the next level: Instead of writing unique apps for each mobile device or OS.</p>
<p><strong><img title="jquerymobile-pros-cons-of-using-framework" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/jquerymobile-pros-cons-of-using-framework.jpg" alt="jQuery Mobile" width="570" height="300" /></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>iWebKit</strong></h3>
<p><strong><a href="http://snippetspace.com/projects/iwebkit/"></a></strong><a href="http://snippetspace.com/projects/iwebkit/">http://snippetspace.com/projects/iwebkit/</a></p>
<p><a href="http://snippetspace.com/projects/iwebkit/"></a><span style="font-size: small; line-height: normal;">iWebKit is a file package designed to help you create your own iPhone, iPod Touch and iPad compatible website or webapp.</span></p>
<p><span style="font-size: small; line-height: normal;"><strong><a href="http://snippetspace.com/projects/iwebkit/"><img title="iwebkit-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/iwebkit-pros-cons-of-using-frameworks.jpg" alt="iWebKit" width="570" height="300" /></a></strong></span></p>
<p><span style="font-size: small; line-height: normal;"><strong><br />
</strong></span></p>
<h3><span style="font-size: small; line-height: normal;"> </span><span style="font-size: small; line-height: normal;"><strong>DHTMLX Touch</strong></span></h3>
<p><span style="font-size: small;"><span style="line-height: normal;"><strong><a href="http://www.dhtmlx.com/touch/"></a></strong></span></span><a href="http://www.dhtmlx.com/touch/">http://www.dhtmlx.com/touch</a></p>
<p><a href="http://www.dhtmlx.com/touch/"></a>DHTMLX Touch is an HTML5-based JavaScript library for building mobile web applications. It’s not just a set of UI widgets, but a complete framework that allows you to create eye-catching, cross-platform web applications for mobile and touchscreen devices.</p>
<p><strong><a href="http://www.dhtmlx.com/touch/"><img title="dhx-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/dhx-pros-cons-of-using-frameworks.jpg" alt="DHTMLX" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<p><span style="font-size: 20px; font-weight: bold; color: #000000;">Ruby Frameworks</span></p>
<h3><strong>Ruby on Rails</strong></h3>
<p><strong> </strong><a href="http://rubyonrails.org/">http://rubyonrails.org/</a></p>
<p><a href="http://rubyonrails.org/"></a>Ruby on Rails is an open-source web framework that&#8217;s optimized for programmer happiness and sustainable productivity.</p>
<p><strong><a href="http://rubyonrails.org/"><img title="rubyonrails-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/rubyonrails-pros-cons-of-using-frameworks.jpg" alt="Ruby on Rails" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>Padrino</strong></h3>
<p><strong><a href="http://www.padrinorb.com/"></a></strong><a href="http://www.padrinorb.com/">http://www.padrinorb.com/</a></p>
<p><a href="http://www.padrinorb.com/"></a>Padrino is a ruby framework built upon the excellent Sinatra Microframework. Sinatra is a DSL for quickly creating simple web applications in Ruby.</p>
<p><strong><a href="http://www.padrinorb.com/"><img title="padrino-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/padrino-pros-cons-of-using-frameworks.jpg" alt="Padrino" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>Bowline</strong></h3>
<p><strong><a href="http://bowlineapp.com"></a></strong><a href="http://bowlineapp.com/">http://bowlineapp.com/</a></p>
<p><a href="http://bowlineapp.com/"></a>Bowline is a framework for making cross platform desktop applications in Ruby, HTML and JavaScript.</p>
<p><strong><a href="http://bowlineapp.com"><img title="bowline-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/bowline-pros-cons-of-using-frameworks.jpg" alt="Bowline" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h2><span style="color: #000000;">CSS Frameworks</span></h2>
<h3><strong>Blueprint</strong></h3>
<p><strong><a href="http://www.blueprintcss.org/"></a></strong><a href="http://www.blueprintcss.org/">http://www.blueprintcss.org/</a></p>
<p><a href="http://www.blueprintcss.org/"></a>Blueprint is a CSS framework, which aims to cut down on your development time.</p>
<p><strong><a href="http://www.blueprintcss.org/"><img title="blueprint-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/blueprint-pros-cons-of-using-frameworks.jpg" alt="Blueprint" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>960 Grid System</strong></h3>
<p><strong><a href="http://960.gs/"></a></strong><a href="http://960.gs/">http://960.gs/</a></p>
<p><a href="http://960.gs/"></a>The 960 Grid System is an effort to streamline web development workflow by providing commonly used dimensions, based on a width of 960 pixels.</p>
<p><strong><a href="http://960.gs/"><img title="960-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/960-pros-cons-of-using-frameworks.jpg" alt="960 Grid System" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h3><strong>YUI2</strong></h3>
<p><strong><a href="http://developer.yahoo.com/yui/grids/"></a></strong><a href="http://developer.yahoo.com/yui/grids/">http://developer.yahoo.com/yui/grids/</a></p>
<p><a href="http://developer.yahoo.com/yui/grids/"></a>The foundational YUI Grids CSS offers four preset page widths, six preset templates, and the ability to stack and nest subdivided regions of two, three, or four columns.</p>
<p><strong><a href="http://developer.yahoo.com/yui/grids/"><img title="yui2-pros-cons-of-using-frameworks" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/yui2-pros-cons-of-using-frameworks.jpg" alt="Yui2" width="570" height="300" /></a></strong></p>
<p><strong><br />
</strong></p>
<h2><span style="color: #000000;">Considerations</span></h2>
<p>Now you understand why I didn&#8217;t include the word &#8220;<strong>better</strong>&#8221; on my first sentence. A framework can bring you several advantages and may suit your needs, but it also brings downsides to your projects. There are hundreds of frameworks out there, so be sure to choose carefully, if you plan to use one in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/design/pros-cons-frameworks/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>20+ Useful CSS3 and HTML5 Frameworks, Tools and Templates</title>
		<link>http://www.1stwebdesigner.com/design/20-css3-html5-frameworks-tools-templates/</link>
		<comments>http://www.1stwebdesigner.com/design/20-css3-html5-frameworks-tools-templates/#comments</comments>
		<pubDate>Sun, 22 May 2011 10:00:17 +0000</pubDate>
		<dc:creator>Rochester Oliveira</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=45730</guid>
		<description><![CDATA[I hope you have heard a little about CSS3 and HTML5. And I&#8217;m sure you&#8217;ve used at least one of the cool features they offer. But now it is time to use them at their full (or almost full) power. You may be asking yourself &#8220;It is time to change? Should I forget everything I [...]]]></description>
			<content:encoded><![CDATA[<p>I hope you have heard a little about CSS3 and HTML5. And I&#8217;m  sure you&#8217;ve used at least one of the cool features they offer. But now it is time to use them at their full (or almost full) power.</p>
<p>You may be asking yourself &#8220;It is time to change? Should I forget everything I know and dive into this new world?&#8221;. Well dear padawan, you don&#8217;t need to do so. We have a lot of tools that make our transition to new and better technologies safer (ultimately we can&#8217;t just crash our customer&#8217;s website, we have bills to pay :D).</p>
<p>Frameworks are helpful with this. They&#8217;ve already been tried, tested and proven. Of course, you can always make them better, but they are a really good starting point.</p>
<p>This time we will talk a little about frameworks and other tools, like generators and templates.</p>
<p>So, let&#8217;s rock.</p>
<p><span id="more-45730"></span></p>
<h2>HTML5 Boilerplate &#8211; Templating that fits all needs</h2>
<p><a href="http://html5boilerplate.com/"><img class="alignnone size-full wp-image-46751" title="boilerplate" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/boilerplate.jpg" alt="" width="500" height="293" /></a></p>
<p>This is the most useful for me. I usually have jobs that need easy setup, but a lot of optimizations tools (minifiers and more) and, at the same time, I&#8217;m quite familiar with CSS, so too much preset CSS is a waste of time to me (since I spend a few hours coding CSS, but much more to understand and re-utilize framework&#8217;s code).</p>
<p><strong>Cool features:</strong></p>
<ul>
<li>Constantly improving &#8211; Last update says that they reduced the overall size of the published boilerplate by 50%</li>
<li><a href="http://html5boilerplate.com/docs/#Build-script">Build script</a> &#8211; .js and .css minify, image optimization, html optimization, server configurations for caching&#8230;</li>
<li>Custom install setup &#8211; So you can choose what you want in &#8220;your&#8221; boilerplate</li>
<li>Cross-Browser compatible</li>
<li>HTML5 Ready</li>
<li>Print stylesheet ready to use</li>
</ul>
<h2>52framework &#8211; Supports almost anything</h2>
<p><a href="http://www.52framework.com/"><img class="alignnone size-full wp-image-46754" title="52" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/52.jpg" alt="" width="500" height="205" /></a></p>
<p>I am amazed by all the things you can do with this framework. It has a lot of resources that I thought would never work on IE. This is a good option when you want a somewhat styled template and  are planning to use almost all power of HTML5.</p>
<p><strong>What do I like:</strong></p>
<ul>
<li>Almost anything you want with HTML &#8211; Local Storage, video player, canvas, forms&#8230;</li>
<li>A lot of CSS3 proprieties &#8211; As you can see in <a href="http://demo.52framework.com/demos/css3/demo.html">CSS demo</a>, it has a good CSS3 support</li>
<li>Video Tutorials &#8211; Yeah, it makes even easier to understand 52&#8242;s workflow</li>
</ul>
<h2>G5 Framework &#8211; Good tools collection</h2>
<p><a href="http://framework.gregbabula.info/"><img class="alignnone size-full wp-image-46755" title="g5" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/g5.jpg" alt="" width="500" height="205" /></a></p>
<p>Actually Greg Babula says that it meant to be just a personal project. But it is much powerful than he thinks.</p>
<p>As it was made from personal experience, it has a lot of tools that we already know how to use (Modernizr, CSS Reset, jQuery, Orbit Image Slider&#8230;), thus we don&#8217;t waste too much time learning.</p>
<h2>Perkins &#8211; Lighweight and LESS</h2>
<p><a href="http://p.erkins.com/"><img class="alignnone size-full wp-image-46756" title="perkins" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/perkins.jpg" alt="" width="500" height="205" /></a></p>
<p>I must admit that I should use LESS much more than I do. If you think this way, Perkins may be a good option for you. It comes with a set of LESS stylesheets and mixins for common tasks such as creating navigation, rounded corners, gradients and much more.</p>
<h2>Sprites.js &#8211; Animation framework (HTML5 support, of course)</h2>
<p><a href="https://github.com/batiste/sprite.js"><img class="alignnone size-full wp-image-46757" title="sprite" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/sprite.jpg" alt="" width="500" height="205" /></a></p>
<p>Yeah, sometimes our customer wants some animations on their site. Why should you use flash when (almost every time) you can use HTML5?</p>
<p>Sprite.js provides a simple integration for canvas and HTML animations so you can do easily some animations, with maximum performance.</p>
<h2>Lime.js &#8211; Gaming framework</h2>
<p><a href="http://www.limejs.com/"><img class="alignnone size-full wp-image-46758" title="limejs" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/limejs.jpg" alt="" width="500" height="205" /></a></p>
<p>Just take a look at the <a href="http://www.limejs.com/static/roundball/index.html">demo</a> <a href="http://www.limejs.com/static/zlizer/index.html">games</a>, and tell me if it isn&#8217;t amazing.</p>
<p>Some features (HTML5) that you can use on it:</p>
<ul>
<li>Optional install &#8211; For mobile users it is really good, just bookmark your game and you&#8217;re done</li>
<li>KeyFrame animations</li>
<li>Full support of sprite sheets</li>
<li>Stroke support &#8211; So you can draw a stroke around shapes</li>
<li><a href="http://limejs.digitalfruit.ee/docs/">Good documentation</a> &#8211; Just take a look at all classes you can use with it, pretty cool :D</li>
</ul>
<h2>HTML5 multimedia framework for WordPress</h2>
<p><a href="http://wordpress.org/extend/plugins/wphtml5player/"><img class="alignnone size-full wp-image-46759" title="multimedia" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/multimedia.jpg" alt="" width="500" height="205" /></a></p>
<p>If you are a WordPress person, you will find it useful. With this plugin, you just have to add a shortcode and you have a HTML5 media player in your site.</p>
<p>The framework currently supports:</p>
<ul>
<li>mp4 (h.264,aac)</li>
<li>ogg (theora,vorbis)</li>
<li>mp3 (audio only)</li>
<li>webm (vp8,vorbis).</li>
<li>wmv (via MediaElement.js)</li>
<li>flv (via MediaElement.js)</li>
<li>wma (via MediaElement.js)</li>
</ul>
<h2>Modernizr &#8211; HTML5 &amp; CSS3 with fallbacks</h2>
<p><a href="http://www.modernizr.com/"><img class="alignnone size-full wp-image-46761" title="modernizr" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/modernizr.jpg" alt="" width="500" height="205" /></a></p>
<p>Modernizr helps us to implement HTML5 and CSS3 for browsers that don&#8217;t natively support it. Actually many of the tools mentioned above use it.</p>
<p>Want to know more about its amazing features? Just read <a href="https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills">The All-In-One Entirely-Not-Alphabetical No-Bullshit Guide to HTML5 Fallbacks</a>.</p>
<p>It is really simple to use, when modernizr detects your browser&#8217;s features, it adds classes to you HTML, so you can easily switch to a valid fallback. Try to <a href="http://modernizr.github.com/Modernizr/test/">run the demo</a> and see its results for a better comprehension.</p>
<h2>Select[ivizr] &#8211; CSS3 Selectors for IE</h2>
<p><a href="http://selectivizr.com/"><img class="alignnone size-full wp-image-46760" title="select" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/select.jpg" alt="" width="500" height="205" /></a></p>
<p>IE (6-8 mainly) is surely the greatest barrier to CSS3 spread. CSS3 selectors are almost forgotten for some developers, that just know they exist because can use them with jQuery.</p>
<p>You just need one of the 7 supported JavaScript libraries and you are ready to install it (via conditional comments, so just IE will see it). And then you&#8217;re done, just write you pretty CSS3 selectors as you aways wanted.</p>
<h2>CSS3 button framework</h2>
<p><a href="http://css3buttons.michaelhenriksen.dk/"><img class="alignnone size-full wp-image-46762" title="css3buttons" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/css3buttons.jpg" alt="" width="500" height="205" /></a></p>
<p>With this framework you have easily a lot of good buttons options. It is specially useful for back-end developers, that aways need some pretty buttons, but don&#8217;t have time (or budget) to do so.</p>
<p>They are all CSS3 ready, and can be easily customized.</p>
<h2>Templates &#8211; General HTML5 and CSS3 samples</h2>
<h3>Coming Soon Template</h3>
<p><a href="http://medialoot.com/item/free-html5-coming-soon-template/"><img class="alignnone size-full wp-image-46798" title="coming" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/coming.jpg" alt="" width="350" height="186" /></a></p>
<h3>Design Company</h3>
<p><a href="http://blog.templatemonster.com/2010/06/29/free-html5-template-design-company/"><img class="alignnone size-full wp-image-46799" title="design-company" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/design-company.jpg" alt="" width="350" height="186" /></a></p>
<h3>Real State</h3>
<p><a href="http://blog.templatemonster.com/2010/10/11/free-html5-template-real-estate-website/"><img class="alignnone size-full wp-image-46868" title="real-state" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/real-state.jpg" alt="" width="350" height="190" /></a></p>
<h3>Free HTML5 &amp; CSS3 theme</h3>
<p><a href="http://jayj.dk/2009/a-free-html5-and-css3-theme/"><img class="alignnone size-full wp-image-46869" title="free-html5" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/free-html5.jpg" alt="" width="350" height="190" /></a></p>
<h3>Create An Elegant Website With HTML 5 And CSS3</h3>
<p><a href="http://www.pvmgarage.com/2010/04/touch-the-future-create-an-elegant-website-with-hmtl-5-and-css3/"><img class="alignnone size-full wp-image-46871" title="elegant" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/elegant.jpg" alt="" width="350" height="190" /></a></p>
<h3>Starter Pack</h3>
<p><a href="http://sickdesigner.com/resources/HTML5-starter-pack/index.html"><img class="alignnone size-full wp-image-46872" title="starter-pack" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/starter-pack.jpg" alt="" width="350" height="190" /></a></p>
<h3>Much more inspiration at HTML5 Gallery</h3>
<p><a href="http://html5gallery.com/"><img class="alignnone size-full wp-image-46870" title="html5-gallery" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/html5-gallery.jpg" alt="" width="350" height="190" /></a></p>
<h2>Some useful tools</h2>
<h3>CSS3 Button Maker</h3>
<p><a href="http://css-tricks.com/examples/ButtonMaker/"><img class="alignnone size-full wp-image-46873" title="button-maker" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/button-maker.jpg" alt="" width="350" height="190" /></a></p>
<h3>CSS Transforms code generator</h3>
<p><a href="http://westciv.com/tools/transforms/index.html"><img class="alignnone size-full wp-image-46874" title="transforms" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/transforms.jpg" alt="" width="350" height="190" /></a></p>
<h3>CSS3 Gradient generator</h3>
<p><a href="http://gradients.glrzad.com/"><img class="alignnone size-full wp-image-46875" title="gradient" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/gradient.jpg" alt="" width="350" height="190" /></a></p>
<h3>CSS3 Drop Shadow Generator</h3>
<p><a href="http://www.wordpressthemeshock.com/css-drop-shadow/"><img class="alignnone size-full wp-image-46876" title="shadow" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/shadow.jpg" alt="" width="350" height="190" /></a></p>
<h3>CSS Generator for radius, shadows, rgba, @font-face, columns and more</h3>
<p><a href="http://css3generator.com/"><img class="alignnone size-full wp-image-46887" title="css3-generator" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/css3-generator.jpg" alt="" width="350" height="190" /></a></p>
<h3>The best @font-face generator I&#8217;ve ever seen</h3>
<p><a href="http://www.fontsquirrel.com/fontface/generator"><img class="alignnone size-full wp-image-46888" title="fon-face" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/fon-face.jpg" alt="" width="350" height="190" /></a></p>
<h3>HTML5 Visual Cheat Sheet</h3>
<p><a href="http://woork.blogspot.com/2009/09/html-5-visual-cheat-sheet-by-woork.html"><img class="alignnone size-full wp-image-46886" title="cheat-sheet" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2011/05/cheat-sheet.jpg" alt="" width="350" height="190" /></a></p>
<h2>Ready to start experimenting with HTML5?</h2>
<p>You may notice that I didn&#8217;t even mention any mobile frameworks. It is because they are so cool that they deserve a dedicated post.</p>
<p>I certainly have missed some other good resources. Why don&#8217;t you comment and share what you know?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/design/20-css3-html5-frameworks-tools-templates/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>A Complete Beginner’s Guide to Zend Framework: Part 2</title>
		<link>http://www.1stwebdesigner.com/tutorials/beginner-guide-zend-framework-2/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/beginner-guide-zend-framework-2/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 10:00:35 +0000</pubDate>
		<dc:creator>Nick Plekhanov</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=28707</guid>
		<description><![CDATA[After reading the first part of our series, you’ve learned how to create a simple website based on Zend Framework. But it’s necessary to keep the information for full web-application. In this part we will learn how to work with databases using ZF. Zend_Db Zend_Db_Adapter gives us an opportunity to work with different database management [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/tutorials/beginner-guide-zend-framework-2/"><img class="size-full wp-image-28708 alignleft" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/zf_first_steps-2.jpg" alt="A Complete Beginner’s Guide to Zend Framework: Part 2" width="150" height="150" /></a>After reading the <a href="http://www.1stwebdesigner.com/tutorials/zend-framework-first-steps/">first part of our series</a>, you’ve learned how to create a simple website based on Zend Framework. But it’s necessary to keep the information for full web-application. In this part we will learn how to work with databases using ZF.<span id="more-28707"></span></p>
<h2>Zend_Db</h2>
<p>Zend_Db_Adapter gives us an opportunity to work with different <a href="//en.wikipedia.org/wiki/Database_management_system”">database management systems (DBMS)</a>.</p>
<p><strong>Using PDO drivers:</strong></p>
<ul>
<li>BM DB2 and Informix Dynamic Server (IDS), using pdo_ibm extension</li>
<li>MySQL, using the pdo_mysql PHP extension</li>
<li>Microsoft SQL Server, using pdo_mssql</li>
<li>Oracle, using pdo_oci</li>
<li>PostgreSQL, using pdo_pgsql</li>
<li>SQLite, using the pdo_sqlite PHP extension</li>
</ul>
<p><strong>Using PHP extensions:</strong></p>
<ul>
<li>MySQL, using the mysqli extension</li>
<li>Oracle, using the oci8 PHP extension</li>
<li>IBM DB2, using ibm_db2</li>
<li>Firebird / Interbase, using php_interbase</li>
</ul>
<p>We’ll use the PDO driver to work with MySQL in this article.</p>
<h2>Let&#8217;s Get Started</h2>
<p>We need the way to store configuration file to the database connection. For it we’ll create a application.ini file in our ./application/configs directory. Add to the file following lines:</p>
<pre>	db.adapter          = "pdo_mysql"
	db.params.host      = "localhost"
	db.params.username  = "root"
	db.params.password  = ""
	db.params.dbname    = "your_db_name_here"</pre>
<p>I think the content will not cause any difficulties for you. We will use Zend_Confg_Ini to parse the config of this file. You have to initialize connection to the database before dispatching process. Add the following code to your index.php file.</p>
<pre>	// Load up our config file
	$config = new Zend_Config_Ini('./application/configs/application.ini', 'db');

	$db = Zend_Db::factory($config-&gt;db-&gt;adapter,
				   $config-db-&gt;config-&gt;toArray());

	// Return data as object
	$db-&gt;setFetchMode(Zend_Db::FETCH_OBJ);

	// The default adapter for table classes
	Zend_Db_Table::setDefaultAdapter($db);

	// Write our adapter to registry
	Zend_Registry::set('db', $db);</pre>
<p>If you do not want to receive the result as an object, there are descriptions of other styles to obtain the result for you:</p>
<ul>
<li>Zend_Db:: FETCH_ASSOC: returns the data in an associative array.<br />
The keys of the array are the column names. It’s the mode of extraction is used by default in Zend_Db_Adapter classes.</li>
<li>Zend_Db:: FETCH_NUM: returns the data in an array. The array indexed by integers in accordance with the position of the field in the select query list.</li>
<li>Zend_Db:: FETCH_BOTH: returns the data in an array. The keys of the array are lines and integer values. The number of elements will produce twice more in the array than if FETCH_ASSOC or FETCH_NUM is used.</li>
<li>Zend_Db:: FETCH_COLUMN: returns the data in an array of values. The value is the value returned from one column of the result set in each array. By default, it’s the first column, indexed by zero.</li>
<li>Zend_Db:: FETCH_OBJ: returns the data in an array of objects. By default, the built-in PHP class stdClass is used. Columns of the result of sample are available as public properties of this object.</li>
</ul>
<p>You are probably interested why have we recorded the adapter to the registry? We did so to be able to get access to our created adapter in any controller or model. To extract our adapter from the registry back we can use Zend_Registry::get(); method</p>
<pre>	Zend_Registry::get('db');</pre>
<p>Well, let’s try to execute some requests!</p>
<pre>	$sql = 'SELECT * FROM users';
	$result = $db-&gt;fetchAll($sql);</pre>
<p>The $result variable will contain an array of objects. To extract a single column from the sample results you should do</p>
<pre>	$sql = 'SELECT name, id FROM users';
	$result = $db-&gt;fetchCol($sql);</pre>
<p>Now $result contains only the name. In order to extract a single row from the result of sampling execute the following code</p>
<pre>	$sql = 'SELECT * FROM users WHERE id = 2';
	$result = $db-&gt;fetchRow($sql);</pre>
<p>And now $result is the single object ($result-&gt;name). Extracting a single value</p>
<pre>	$sql = 'SELECT COUNT(*) FROM users';
	$result = $db-&gt;fetchOne($sql);</pre>
<p>$result contains the number of users. That’s all with SELECT queries. But we still have to add and modify our data in the database. Lets&#8217;s look at it.</p>
<h2>Adding Records</h2>
<p>There is a special method for inserting data to the database: Zend_Db&#8217;s <em>insert</em> method.</p>
<pre>	$data = array('name'  =&gt; 'Nick',
				  'login' =&gt; 'nick',
                  'email' =&gt; 'myemail@gmail.com');

	$db-&gt;insert('user', $data);
	$lastId = $db-&gt;lastInsertId();</pre>
<p>We need to pass two parameters to insert method: table name, and an associative array with the data. lastInsertId method will return the value of auto-increment primary field in the table.</p>
<h2>Updating Records</h2>
<p>To able to update our db data we should call the update method and pass it three parameters. The first parameter is the name of the table, the second &#8211; an associative array with the data, the third parameter &#8211; a condition (optional); if you omit the third parameter, all records will be updated. The array of conditions can be passed as a WHERE condition.</p>
<pre>	$data = array('name'  =&gt; 'Nick',
		          'login' =&gt; 'nick',
                  'email' =&gt; 'myemail@gmail.com');

	$db-&gt;update('user', $data, 'id = 1');</pre>
<h2>Deleting Records</h2>
<p>Now you should know what each parameter is used for. The first argument is the name of the table, the second is the condition. Simply, right? Also there may be several conditions which is passed as an array. If you omit the second argument, all records of the table will be deleted.</p>
<pre>	$db-&gt;delete('user', 'id = 1');</pre>
<h2>Example Bits of Code</h2>
<p>Example 1:</p>
<pre>	// Extract Zend_Db_Select
	$select = $db-&gt;select();	

	// 1st - table name, 2nd - array of selecting columns
	$select-&gt;from('news', array('YEAR(date) AS yearNews',
		'MONTH(date) AS monthNews',
		'DAy(date) AS dayNews'));</pre>
<p>Example 2:</p>
<pre>	// Extract Zend_Db_Select
	$select = $db-&gt;select();	

	// Descending sorting
	$select-&gt;from('news')-&gt;order('date DESC');
	$result = $db-&gt;fetchAll($select);</pre>
<p>Example 3:</p>
<pre>	// Extract Zend_Db_Select
	$select = $db-&gt;select();	

	// Descending sorting by date and ascending by title field
	$select-&gt;from('news')
		-&gt;order(array('date DESC', 'title'));

	$result = $db-&gt;fetchAll($select);</pre>
<p>Example 4:</p>
<pre>	// Extract Zend_Db_Select
	$select = $db-&gt;select();	

	// Descending sorting by date and ascending by title field
	$select-&gt;from(array('n' =&gt; 'news'), // table name and its alias
				array('newsTitle' =&gt; 'title', // The second parameter
						'newsDescription' =&gt; 'description', // column alias =&gt; column name
					'date' =&gt; 'date'))
			-&gt;join(array('a' =&gt; 'author'), // The first param for join method | alias =&gt; table name
					array('n.author = a.id'), // The 2nd param - array of condition for join operator
					array('name' =&gt; 'authorName')) // Associative array of columns
			-&gt;order('date DESC'); // Sorting descending by date column

	$result = $db-&gt;fetchAll($select);</pre>
<h2>Zend_Db_Select</h2>
<p>Zend_Db_Select &#8211; is the assistant of making SELECT queries. Using this class methods we can build our complicated queries expressions part-by-part.</p>
<h3>Queries Building</h3>
<p>For example, we have to choose the record of news from a table with this query</p>
<pre>	SELECT * FROM news WHERE id = 12;</pre>
<p>Using Zend_Db_Select it would look like so</p>
<pre>	// Extract Zend_Db_Select
	$select = $db-&gt;select();

	$select-&gt;from('news')-&gt;where('id = 12');
	$result = $db-&gt;fetchAll($select);</pre>
<p>Now, let&#8217;s choose all the news records, but breaking the date’s field into three columns &#8211; year, month, day</p>
<pre>SELECT *, YEAR(date) AS yearNews,
	MONTH(date) AS monthNews,
	DAY(date) AS dayNews
FROM news;</pre>
<p>SQL has several types of joining operation. Below are the list of methods for supporting different joining types in Zend_Db_Select.</p>
<ul>
<li>INNER JOIN, methods join (table, join, [columns]) and joinInner (table, join, [columns]).</li>
<li>LEFT JOIN, the method joinLeft (table, condition, [columns]).</li>
<li>RIGHT JOIN, the method joinRight (table, condition, [columns]).</li>
<li>FULL JOIN, the method joinFull (table, condition, [columns]).</li>
<li>CROSS JOIN, the method joinCross (table, [columns]).</li>
<li>NATURAL JOIN,  the method joinNatural (table, [columns]).</li>
</ul>
<p>There are also some special methods of Zend_Db_Select class.</p>
<ul>
<li>orWhere() – the same as where(), but with logical OR.</li>
<li>group() &#8211; one column’s name can be sent to this method by one line or the lines’ array of columns’ names./li&gt;</li>
<li>limit() &#8211; passes the desired number of rows to choose by the first parameter, by the second &#8211; number of the optional rows which can be omitted.</li>
</ul>
<h2>The Result</h2>
<p>Another one Zend Framework lesson is completed. Digest the received knowledge, and I hope we will try to continue our experiment in the next part. Bye!</p>
<p>P.S. I look forward to receiving your feedback and questions in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/beginner-guide-zend-framework-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>A Complete Beginner&#8217;s Guide to Zend Framework: First Steps</title>
		<link>http://www.1stwebdesigner.com/tutorials/zend-framework-first-steps/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/zend-framework-first-steps/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 10:00:45 +0000</pubDate>
		<dc:creator>Nick Plekhanov</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=28180</guid>
		<description><![CDATA[You’ve been still tormenting and write-ins of the same type in the n-times for the site? You do what has been done for you and try to divide the project design from the code? Looking for realization of the necessary functions in questionable forums? If you answered “yes” one of these questions, so this article [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/tutorials/zend-framework-first-steps/"><img class="size-full wp-image-28181 alignleft" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/10/zf_first_steps.jpg" alt="Getting into Zend Framework: First Steps" width="150" height="150" /></a>You’ve been still tormenting and write-ins of the same type in the n-times for the site? You do what has been done for you and try to divide the project design from the code? Looking for realization of the necessary functions in questionable forums? If you answered “yes” one of these questions, so this article is definitely for you. There I will tell you about the powerful free framework (Content Managment Framework), if you learn it you will not only save time for the design, but also rtake the quality of your work to a much higher level. So, let’s sit comfortably and read my first article of the series &#8220;Learning to work with Zend Framework&#8221;.<span id="more-28180"></span></p>
<h2>Why to use Zend Framework?</h2>
<p>The major aim for any CMF – reduce time for a project’s working up. Using this product, you can achieve following:</p>
<ol>
<li> Permanent structure of your projects. The problem of majority projects, making from nothing, – absence of a permanent structure. First, you put necessary function in one module, in the next project you realized you’d made a mistake and decided to change everything. As a result, the more you create a website / web-applications, the more you improve your knowledge, well then you make changes in the structure of new projects. But now try to imagine that you will have to go back to support/revision of your oldest project. I’m sure you’ll just get entangled or waste much of time for the code’s investigation. When you create a web-based application frameworks, this problem disappears, because you’re always guided by rules. This approach can guarantee that, if the oldest project’s revision is necessary, you will always know its structure and can finish it off easily.</li>
<li> Increase the speed of development. There is a set of classes in ZF that allow to realize a lot of typical actions. You’ll not need to create one more bicycle cause you have the whole Kamaz of ready-made bicycles.:)</li>
<li> Increase the level of safety. Everybody makes mistakes and no one is safety. It is difficult to argue, but with the help of ZF you can significantly reduce the error rate in the project. Because it’s really to make a lot of typical actions with the help of built-in classes, it means you have to write less code. And less code, less errors.</li>
</ol>
<h2>Is It Difficult?</h2>
<p>Someone says that ZF is too complicated for understanding, heavy, requires a lot of server resources. It’s not like this in reality. If you can to learn php, so moreover you can deal with ZF, and as for heaviness, a good diet will eliminate this shortcoming with no problems.</p>
<h2>Positive and Negative Of ZF</h2>
<p>There are no ideal solutions and ZF is not the exception. It has its both positive and negative sides, which we’ll discuss in this part. Let’s start with the negative:</p>
<ol>
<li> Heavy, version 1.8.a for exaple is 17 MB (well, not be afraid of), although this is not so much. If you&#8217;re scared this size, see the size of many commercial CMS. Almost of them rolled over for 10 MBs and it is not surprising, cause they have a lot of functions. It is the similar story with ZF. It provides a lot of opportunities, but it’s not the fact that you can use them all.</li>
<li> Requires a lot of time to study. Actually, this all is individually here. Some may mark time a year, while it will be enough for others just a few days and they are ready to write their first applications.</li>
<li> Resource-intensive. To be honest, I have not seen more than one hosting provider that would kick the bucket from ZF.</li>
</ol>
<p>That&#8217;s all the negative sides. Now the positive:</p>
<ol>
<li> ZF is a set of classes, most of which are not tied to each other, so that it can be used as the spare parts in other projects and completely. There is all you need in today&#8217;s Web projects.</li>
<li> The presence of a component to work with third-party services.</li>
<li> Object-oriented approach.</li>
<li> MVC pattern based.</li>
<li> Well documented.</li>
</ol>
<p>So, it’s enough, no more theory and let’s go straight to practice. We estimate the possibility of the giant, so to speak:) Inorder to work with ZF, we need ZendFramework (you can download the latest version from <a href="http://framework.zend.com/download/latest">here</a>, HTTP server with the mod_rewrite support, PHP at least version 5.2, and MySQL 5. Download the latest stable version. By the way I almost forgot, you can download ZF in two different assemblies:</p>
<ul>
<li>Full</li>
<li>Minimal.</li>
</ul>
<p><strong>Full Package</strong> contains the Dojo Toolkit, and the demos to work with a skeleton. Because you are just beginning to study this framework, I recommend to download this version.</p>
<p><strong>Minimal Package</strong> contains only ZendFramework library.</p>
<p>Extract the folder with the core (/ library / Zend), ZF is better to keep a few levels higher, so that don’t produce the files for each project, in my example, it turned out in this folder D: \ library \ ZF \ 1.7.8 \ Zend \. (i&#8217;m on PC)</p>
<h2>Making the Structure of the Project</h2>
<p>Let&#8217;s organize the file structure for our future project. Create two directories in the root of the application:</p>
<ul>
<li><strong>application</strong> &#8211; here all our software modules of the project will be stored</li>
<li><strong>public</strong>, where will be available all share files.</li>
</ul>
<p>Also create index.php and .htaccess in the root, in which immediately add rules of redirects:</p>
<p><code><br />
RewriteEngine on<br />
RewriteRule .* index.php<br />
</code></p>
<p>It’s necessary to add similar .htaccess file, in the folder “public”.</p>
<p><code><br />
RewriteEngine off<br />
</code></p>
<p>Now lets create 3 folders in “application” directory: configs, library, modules.</p>
<ul>
<li>configs —  here is configuration files of the project.</li>
<li>library —  for additional libraries.</li>
<li>modules — and it&#8217;s for modules of our application.</li>
</ul>
<p>After all these simple manipulations I had such a structure:</p>
<p>The root:</p>
<ul>
<li>application</li>
<li>configs</li>
<li>library</li>
<li>modules</li>
<li>public</li>
<li>.htaccess</li>
<li>.htaccess</li>
<li>index.php&lt;/li</li>
</ul>
<p>If the structure is ready, so we can move on to the coding ;-)<br />
Open our index file (index.php). Let the interpreter know that php code wiil start soon and determine 4 constants:</p>
<p><code><br />
PATH_TO_ZF  - the path to ZF<br />
PATH_TO_APPLICATION - the path to the folder “application”<br />
PATH_TO_LIBRARY - the path to our libraries<br />
PATH_TO_MODULES - the path to our modules.<br />
</code></p>
<p>The code:</p>
<pre class="brush: php; title: ; notranslate">
define('PATH_TO_ZF', '../../../ZF/1.7.7/');
define('PATH_TO_APPLICATION', './application/');
define('PATH_TO_LIBRARY', PATH_TO_APPLICATION . 'library/');
define('PATH_TO_MODULES', PATH_TO_APPLICATION . 'modules/');
</pre>
<p>Now we should tell our intepriter the path to load all our stuff from:</p>
<pre class="brush: php; title: ; notranslate">
include_path(PATH_TO_ZF . PATH_SEPARATOR . PATH_TO_APPLICATION . PATH_SEPARATOR . PATH_TO_LIBRARY);
</pre>
<p>The next step is to download  Zend_Loader (later we will return to it) and register classes’ autoload.</p>
<pre class="brush: php; title: ; notranslate">
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
</pre>
<p>So, Zend_Loader is loaded, now let’s activate Zend_Controller_Front (about it, too, later) and point the location of our modules to the dispatcher. Then start the process of dispatching.</p>
<pre class="brush: php; title: ; notranslate">
$controller = Zend_Controller_Front::getInstance();
$controller-&gt;addModuleDirectory(PATH_TO_MODULES)-&gt;dispatch();
</pre>
<p>The result should be something like this:</p>
<pre class="brush: php; title: ; notranslate">
define('PATH_TO_ZF', '../../../ZF/1.7.7/');
define('PATH_TO_APPLICATION', './application/');
define('PATH_TO_LIBRARY', PATH_TO_APPLICATION . 'library/');
define('PATH_TO_MODULES', PATH_TO_APPLICATION . 'modules/');

set_include_path(PATH_TO_ZF . PATH_SEPARATOR . PATH_TO_APPLICATION . PATH_SEPARATOR . PATH_TO_LIBRARY);

require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
$controller = Zend_Controller_Front::getInstance();
$controller-&gt;addModuleDirectory(PATH_TO_MODULES)-&gt;dispatch();
</pre>
<p>As you can notice Zend_Controller_Front never loaded because Zend_Loader loadsController automatically. Zend_Loader recognizes location of the controller on its name:<br />
Zend_Controller_Front is in Zend/Controller/Front.php</p>
<h2>A Little Bit More About Controller</h2>
<p>Zend_Controller_Front implements the Singleton pattern, that means it can be initialized in the project only once. When you call a method dispatch(), the manager goes into a loop of dispatching passing three events:</p>
<ol>
<li>Routing defines what module, controller and the event can be called. If other ways are not written, then: site.ru/modules/controller/action/var1/value1/var2/value2 /. You can also override the paths through Zend_Controller_Route, but more on that in the next article.</li>
<li>Dispatching – checking for the called module, controller, and events and call events.</li>
<li>Answer – the view rendering.</li>
</ol>
<h2>Developing our Module</h2>
<p>Create the folder &#8220;default&#8221; in our modules folder, it will be our first module. If we turn to our website using the link http://localhost/site.ru (you may have another location), it will be carried our default module. Name of default module can be changed, for example, to the &#8220;index&#8221;. It is done using the method &#8211; setDefaultModule (), object Zend_Controller_Front. It&#8217;s necessary to call the method before dispatching. As a parameter the method should get the module name, which will be used by default.</p>
<p><code><br />
$controller-&gt;setDefaultModule('index');<br />
</code></p>
<p>Come on. We will create now two more folders in the module&#8217;s folder:</p>
<ul>
<li>controllers — there are module controllers</li>
<li>views — but here everything related to the view (presentation)</li>
</ul>
<p>Create a new controller (IndexController.php), and put this code:</p>
<pre class="brush: php; title: ; notranslate">
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
return;
}
}
</pre>
<p>Now you need to create a script for our controller. For it, create folders &#8220;scripts/index&#8221; in a folder &#8220;views&#8221;. It should be something like this:</p>
<p><code><br />
default<br />
controllers<br />
IndexController.php<br />
views<br />
scripts<br />
index<br />
</code></p>
<p>Create a file index.phtml in the folder views/scripts/index/. Try to test it! If there are no errors, it means you are good to listen to me :) Now add the event:</p>
<p><code><br />
$this-&gt;view-&gt;var = ‘ZendFramework’;<br />
</code></p>
<p>General view of the controller looks like this:</p>
<pre class="brush: php; title: ; notranslate">
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$this-&gt;view-&gt;var = ‘ZendFramework’;
}
}
</pre>
<p>Lets add into the view file the following code:<br />
<code><br />
echo $this-&gt;var;<br />
</code></p>
<p>After that, update the page.</p>
<h2>Creating an Error 404 Page</h2>
<p>Create another controller in our module, ErrorController.php:</p>
<pre class="brush: php; title: ; notranslate">
class ErrorController extends Zend_Controller_Action
{
public function errorAction()
{
return;
}
}
</pre>
<p>Now lets create a submission for the error: /default/views/scripts/error/error.phtml:</p>
<p><code><br />
404<br />
</code></p>
<p>In order to test it, type in your browser&#8217;s address bar: site/qwerty. As we do not have this page, so the result will be appropriate. In order that would include the output error due to which the script is stopped before dispatching we need to call the throwExceptions() method and passing the appropriate parameters, if we want to see a mistake, true, and false, if we want to differentiate a mistake when we created this page.</p>
<h2>You’re Done!</h2>
<p>First, I think that&#8217;s enough. For our first meeting we discussed a lot of interesting things. It is not all clear while, but do not worry. Skill comes with time. The main thing is not to be lazy and try to do something. In the article I mentioned that ZF is based on the MVC architecture. If you&#8217;re scared or have entered a dead end, the words &#8220;view&#8221;, &#8220;controller&#8221;, then launch Google and read a basis <a href="http://en.wikipedia.org/wiki/Model–View–Controller">MVC theory</a>.</p>
<p>That’s all; I hope you enjoyed this tutorial, and thanks for reading! See you in next chapter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/zend-framework-first-steps/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Creating A Custom HTML and CSS Framework for Rapid Development</title>
		<link>http://www.1stwebdesigner.com/tutorials/custom-html-css-framework/</link>
		<comments>http://www.1stwebdesigner.com/tutorials/custom-html-css-framework/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 10:00:01 +0000</pubDate>
		<dc:creator>Kevin Stanley</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=24979</guid>
		<description><![CDATA[In this article I will go over creating a custom framework to have and use for your own projects. This to me has been one of the best resources to me in creating websites for clients. I found just like everyone else that after doing so many web pages you hit the point of realizing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/tutorials/custom-html-css-framework/"><img class="alignleft size-full wp-image-25209" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/html_css_framework150x150.jpg" alt="" width="150" height="150" /></a>In this article I will go over creating a custom framework to have and use for your own projects. This to me has been one of the best resources to me in creating websites for clients. I found just like everyone else that after doing so many web pages you hit the point of realizing you keep typing the same things over and over. To try and cut down on some of the time it was taking me just to get started on a project I decided to make my own &#8220;framework&#8221; that I would use as a basic starting point. I have found this to be a great way to carry around my framework with me anywhere I go on my USB memory stick, and to be able to start a project much faster than I normally would have. Since most of my programming is done with just a basic text editor, this has worked out really well for me.<span id="more-24979"></span></p>
<h2>Getting Started</h2>
<p>To start with, I am going to take a look at my own needs and see what it appears I need the most. I want to make sure then when creating my own custom HTML &amp; CSS framework, that I include the things I use the most so it will be useful to me in the future. When starting your own I would make a simple list of the most used things you have found yourself doing over and over with each website project.</p>
<p>For this example I will cover the items I found myself needing the most &#8211; You can always add or remove items to better fit your own needs when making your own custom HTML and CSS framework:</p>
<p>1. Basic starting DOCTYPE and website head area<br />
2. Link on the HTML document to my .CSS stylesheet<br />
3. A good .CSS reset file<br />
4. A starting point for my project already in place<br />
5. A .PNG fix for older browser versions</p>
<h2>A Basic Starting Point</h2>
<p>For a basic starting point we will need to know the main items that will be in every website. First will be our DOCTYPE. Although this may change for some people, I know that I mostly use the same one. I got tired of trying to remember it, and it was getting old trying to copy it each time I created a website. This is a must have item within our framework.</p>
<p>Lets begin by creating a new file and naming it index.html &#8211; This will be the first start of our framework. Open this file and add your DOCTYPE at the beginning of the document. Since I use the XHTML strict, then I have added the following to my index.html file.</p>
<h4>Index.html File</h4>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
</pre>
<p>Now that we have a start of our index.html &#8211; We will continue on it by adding the HEAD section. This will be the area that we contain our meta information and link to your stylesheets in. Since I have used the same items for years, I want to make sure I include them. Adding them and leaving them blank will allow me to reuse the framework as many times as I want, and customize it each time I create a new project, but will prevent me from having to re-type it over and over every time I am creating a new website.</p>
<p>Now we will take a look at the other information we will be adding into our index.html file. This is the HEAD area:</p>
<h4>Index.html</h4>
<pre class="brush: xml; title: ; notranslate">
&lt;head&gt;
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;meta name=&quot;description&quot; content=&quot;&quot; /&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/reset.css&quot; media=&quot;screen&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/style.css&quot; media=&quot;screen&quot; /&gt;

&lt;!--[if lt IE 7.]&gt;
&lt;script defer type=&quot;text/javascript&quot; src=&quot;js/pngfix.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;

&lt;title&gt;&lt;/title&gt;

&lt;/head&gt;
</pre>
<p>Let&#8217;s take a look at everything we have added in the above code:</p>
<p>First is our content type, which is a must for proper document retrieval. Next is our description, keywords, and author. After these are our links to our stylesheets we will be creating (Both reset.css and style.css) &#8211; Next will be our JavaScript used to fix older browsers with the .PNG file viewing, and then all followed by our Title tag.</p>
<p>Adding these to the framework, and leaving the description, keywords, author and title blank &#8211; Will make it very easy to edit each time we make a new website using it.</p>
<p>I am going to add the following to my index.html since it is still a basic start to my every website I create. This will finish up our index.html &#8211; This will also create our BODY section of the website framework, and close out our HTML in our document.</p>
<h4>Index.html</h4>
<pre class="brush: xml; title: ; notranslate">
&lt;body&gt;

		&lt;div id=&quot;wrapper&quot;&gt;

		&lt;/div&gt; &lt;!-- End #wrapper --&gt;

	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Notice that I have also added a DIV for starting. This has always been my first created DIV on each website I have created unless I really needed something more specific and custom. For most generic websites this one has been a must, so I am adding it into my framework.</p>
<p>Here is a look at the entire Index.html file completed:</p>
<h4>Completed Index.html</h4>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;meta name=&quot;description&quot; content=&quot;&quot; /&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;&quot; /&gt;
&lt;meta name=&quot;author&quot; content=&quot;&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/reset.css&quot; media=&quot;screen&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/style.css&quot; media=&quot;screen&quot; /&gt;

&lt;!--[if lt IE 7.]&gt;
&lt;script defer type=&quot;text/javascript&quot; src=&quot;js/pngfix.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;

&lt;title&gt;&lt;/title&gt;

&lt;/head&gt;
	&lt;body&gt;

		&lt;div id=&quot;wrapper&quot;&gt;

		&lt;/div&gt; &lt;!-- End #wrapper --&gt;

	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Next we will take a look at our .CSS files that we will be adding. Since we have already linked to these in our index.html file, we can create them now to be added to our framework. Notice also that I am using a sub-folder called css. This folder will need to be created, and our .css files will need to be added to this folder. This will help us keep files organized in our framework.</p>
<p>First is going to be our main stylesheet which I have named style.css &#8211; Let&#8217;s take a look at the basic of what will be added to it for styling purposes:</p>
<h4>Style.css</h4>
<pre class="brush: css; title: ; notranslate">
html, body, div, p{
  margin: 0;
  padding: 0;
  border: 0;
  }

/* Main Layout */

body{}

#wrapper{}

/* Extras */

.clear{clear:both;}
</pre>
<p>Now for the ever so popular Eric Meyer Reset. This will be in it&#8217;s own file named reset.css and will also be added to our css folder we have created.</p>
<h4>Reset.css</h4>
<pre class="brush: css; title: ; notranslate">
/* CSS Reset created by Eric Meyer - http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: &quot;&quot;;
}
blockquote, q {
	quotes: &quot;&quot; &quot;&quot;;
}
</pre>
<p>Now we will need to create our JavaScript that will fix older browsers and allow them to see .PNG files correctly. I like to use PNG files when possible mainly because of the quality, but I need to keep in mind that some people still use older versions of IE which cannot properly view .PNG files. To fix this, I will make another folder and call it &#8220;js&#8221; &#8211; This folder will hold all of my JavaScript files that I would need to use on any website I am creating, but for now it will hold my pngfix.js file. Create a new file called pngfix.js and we will add the followiing:</p>
<h4>pngfix.js</h4>
<pre class="brush: php; title: ; notranslate">
var arVersion = navigator.appVersion.split(&quot;MSIE&quot;)
var version = parseFloat(arVersion[1])

if ((version &gt;= 5.5) &amp;&amp; (document.body.filters))
{
   for(var i=0; i&lt;document.images.length; i++)
   {
      var img = document.images[i]
      var imgName = img.src.toUpperCase()
      if (imgName.substring(imgName.length-3, imgName.length) == &quot;PNG&quot;)
      {
         var imgID = (img.id) ? &quot;id='&quot; + img.id + &quot;' &quot; : &quot;&quot;
         var imgClass = (img.className) ? &quot;class='&quot; + img.className + &quot;' &quot; : &quot;&quot;
         var imgTitle = (img.title) ? &quot;title='&quot; + img.title + &quot;' &quot; : &quot;title='&quot; + img.alt + &quot;' &quot;
         var imgStyle = &quot;display:inline-block;&quot; + img.style.cssText
         if (img.align == &quot;left&quot;) imgStyle = &quot;float:left;&quot; + imgStyle
         if (img.align == &quot;right&quot;) imgStyle = &quot;float:right;&quot; + imgStyle
         if (img.parentElement.href) imgStyle = &quot;cursor:hand;&quot; + imgStyle
         var strNewHTML = &quot;&lt;span &quot; + imgID + imgClass + imgTitle
         + &quot; style=\&quot;&quot; + &quot;width:&quot; + img.width + &quot;px; height:&quot; + img.height + &quot;px;&quot; + imgStyle + &quot;;&quot;
         + &quot;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader&quot;
         + &quot;(src=\'&quot; + img.src + &quot;\', sizingMethod='scale');\&quot;&gt;&lt;/span&gt;&quot;
         img.outerHTML = strNewHTML
         i = i-1
      }
   }
}
</pre>
<p>This will make IE correctly display our .PNG files. We have already added the script code to our index.html file when we created it that will look for this file. Simple enough right?</p>
<p>Let&#8217;s move on! &#8211; Now we should have a basic setup of files that we have created that we can use as our framework. There are still a few other things that I have found that save time for me when I am creating a website so I have made sure to add them here. If you have seen <a href="http://www.1stwebdesigner.com/tutorials/how-to-create-php-website-template/" target="_blank">my other tutorial on creating a PHP website from scratch</a>, then you will know I frequently convert my HTML websites to PHP. To set up my framework to be readily modified to convert, I have set up my framework with the folders and files I would create when converting my HTML website. I will now add the vars folder, to place my PHP variables, and I will also add my includes folder that will have my PHP include files when and if I choose to convert the HTML to PHP.</p>
<p>Notice that I have also added another blank folder to my framework setup for images. This is the folder I always create and add my website images to for any project that I create. This helps organize my files when making new websites.</p>
<p>Here is a look at what my folder setup looks like with everything complete:</p>
<pre class="brush: css; title: ; notranslate">
HTML CSS Framework
|
|-- index.html
|--- js
|     |-- pngfix.js
|--- images
|--- vars
|--- includes
|--- css
|     |-- style.css
|     |-- reset.css
|
</pre>
<h4>A quick overview of the files we have created:</h4>
<p><strong>index.html</strong> &#8211; Our main html file for website creation</p>
<p><strong>style.css &#8211; reset.css</strong> &#8211; Contained within our css folder, and used for styling the look of our website</p>
<p><strong>pngfix.js</strong> &#8211; Our JavaScript file that fixes IE to properly view .PNG files</p>
<p><strong>images folder</strong> &#8211; For adding our website images we will be using when creating the website using our framework</p>
<p><strong>includes folder</strong> &#8211; For placing files we would create if converting the HTML website to PHP</p>
<p><strong>vars folder</strong> &#8211; For adding variables to use with our PHP website if we converted it</p>
<h4>PHP Notes for Conversion</h4>
<p>For those of you that are like me and would be using this framework to make the website, then convert it to PHP &#8211; Here are some quick notes on including the PHP files, and also setting and using variables. This is just a quick reference that you can save and even keep as a txt file within your framework if you want for later use.</p>
<pre class="brush: php; title: ; notranslate">
// Including the external PHP within XHTML
&lt;?php include('path/filename.php') ?&gt;

// Setting the variable itself
$variable=&quot;data details&quot;;

// Creating the output for the data
&lt;?php
echo $variable
?&gt;
</pre>
<h2>Overall Focus</h2>
<p>The overall focus of creating your own HTML &amp; CSS framework is really to save time. It helps when having everything together and ready each time you want to start a new project for yourself or a client. Saving time and having some things already in place can also help with organization. Putting attention into these can sometimes help you be more creative and flexible since you would not have to waste time doing the same things over and over again. This can also help you place more attention on detail and prevent you from running your energy out on items not needed. All together this could mean the difference in yourself or a client being happy or not, and also meeting a deadline in time knowing that certain things are already done for you.</p>
<h2>Download</h2>
<p>If you would like to download the files that I have created within this tutorial to use for yourself in your own projects then feel free to. I have found making a simple framework is a priceless thing to have and has helped me numerous times. I do know that many of you may already have your own framework that you use but I wanted to share mine with you. Feel free to download the example tutorial files by clicking <a href="http://cdn1.1stwebdesigner.com/wp-content/uploads/2010/09/HTML-CSS-Framework.zip">[HERE]</a></p>
<h2>In Closing&#8230;</h2>
<p>I hope everyone has enjoyed the article, and finds it useful in making your own HTML and CSS Framework. If you have any suggestions or questions then feel free to comment below and let me know. I hope that you also find it useful in your own projects and see the difference in time it takes to begin a new project. I hope it also helps everyone with creativity since you can now focus more energy into more important things such as design, and client specifics instead of starting a project from small snippets or trying to remember DOCTYPE&#8217;s &#8211; Happy coding! and thank you for reading!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/tutorials/custom-html-css-framework/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>20 WordPress Theme Frameworks And Starting Resources</title>
		<link>http://www.1stwebdesigner.com/wordpress/wordpress-theme-frameworks-and-starting-resources/</link>
		<comments>http://www.1stwebdesigner.com/wordpress/wordpress-theme-frameworks-and-starting-resources/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 11:57:47 +0000</pubDate>
		<dc:creator>Dainis Graveris</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=3467</guid>
		<description><![CDATA[A theme framework is a theme that is designed to be a flexible foundation that can serve as a parent theme for building child themes. The use of WordPress theme frameworks may ease theme development by reducing the volume of work which may be needed in creating a backbone for your theme (usually by using [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/wordpress/wordpress-theme-frameworks-and-starting-resources" target="_self"><img class="alignleft" style="margin-right:7px;" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/title-wordpress-theme-frameworks.jpg" alt="title-wordpress-theme-frameworks" width="150" height="150" /></a>A theme framework is a theme that is designed to be a flexible foundation that can serve as a parent theme for building child themes. The use of WordPress theme frameworks may ease theme development by reducing the volume of work which may be needed in creating a backbone for your theme (usually by using PHP and WordPress Template Tags). Theme frameworks also make theme development more accessible, removing the need for programming knowledge. I listed here the best WordPress theme frameworks available as well as several child themes and related articles to help get Your foot with WordPress theme developing.<span id="more-3467"></span></p>
<p><a href="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/"></a></p>
<h2>1.<a href="http://themeshaper.com/thematic/" target="_blank">Thematic, A WordPress Theme Framework</a></h2>
<p>Thematic is a free, open-source, highly extensible, search-engine optimized WordPress Theme Framework featuring 13 widget-ready areas, grid-based layout samples, styling for popular plugins, and a whole community behind it. It&#8217;s perfect for beginner bloggers and WordPress development professionals.</p>
<p><a href="http://themeshaper.com/thematic/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/thematic-wordpress-theme-framework.jpg" alt="thematic-wordpress-theme-framework" width="570" height="324" /></a></p>
<p><a href="http://themeshaper.com/demo/thematic/?wptheme=Thematic" target="_blank">Preview live demo</a></p>
<h2>2. <a href="http://themehybrid.com/archives/2008/11/hybrid-wordpress-theme-framework" target="_blank">Hybrid WordPress Theme Framework</a></h2>
<p>Amazing WordPress theme framework, definitely one of my favorite. Here is short list what You archieve from this framework:</p>
<p>I’ll just give you the short list instead, so you can go ahead and play with the theme:</p>
<ul>
<li>
<div>Developed with child themes in mind, so you’ll never lose your customizations.</div>
</li>
<li>
<div>SEO optimized. No need for plugins to handle this anymore.</div>
</li>
<li>
<div>Theme options that are about content/information.</div>
</li>
<li>
<div>Templates for everything.</div>
</li>
<li>
<div>13 page templates.</div>
</li>
<li>
<div>Actively developed for WP 2.7 but backward compatible down to 2.5.</div>
</li>
<li>
<div>15+ plugins supported within the theme.</div>
</li>
<li>
<div>Attachment handling like you’ve never experienced.</div>
</li>
<li>
<div>Advanced breadcrumbs beyond any other theme.</div>
</li>
<li>
<div>Ability to run just about any type of site.</div>
</li>
<li>
<div>And over 20 tutorials to start.</div>
</li>
</ul>
<p><a href="http://themehybrid.com/archives/2008/11/hybrid-wordpress-theme-framework" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/hybrid-wordpress-theme-framework.jpg" alt="hybrid-wordpress-theme-framework" width="570" height="327" /></a></p>
<p><a href="http://themehybrid.com/demo/hybrid/" target="_blank">Preview live demo</a></p>
<h2>3.<a href="http://carringtontheme.com/" target="_blank">Carrington &#8211; CMS theme framework for WordPress</a></h2>
<p>Carrington is a CMS theme framework for WordPress that makes it easy to create unique looks for different categories, posts and comments just by creating custom templates. Framework with full documentation, community forums to have Your problems explained, very friendly!</p>
<p><a href="http://carringtontheme.com/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/carrington-wordpress-theme-framework.jpg" alt="carrington-wordpress-theme-framework" width="570" height="318" /></a></p>
<p><a href="http://blog.carringtontheme.com/" target="_blank">Preview live demo</a></p>
<h2>4.<a href="http://code.google.com/p/vanilla-theme/" target="_blank">Vanilla Theme</a></h2>
<p>Vanilla’s key boast is this: Exceptional power and freedom for designers, without (or barely) needing to know or touch PHP. Thanks to the combined capabilities of PHPTAL templates, Carrington’s atomic templates, YUI CSS and full widgetization (including custom widget controls).</p>
<p>Lovely framework released under code.google.com section where several frameworks is combined together &#8211; definitely worth checking out!</p>
<p><a href="http://code.google.com/p/vanilla-theme/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/vanilla-theme-wordpress.jpg" alt="vanilla-theme-wordpress" width="570" height="326" /></a></p>
<p><a href="http://www.vanillatheme.com/" target="_blank">Preview live demo</a></p>
<h2>5.<a href="http://plainbeta.com/2008/05/20/whiteboard-a-free-wordpress-theme-framework/" target="_blank">Whiteboard &#8211; A Free WordPress Theme Framework</a></h2>
<p>It is designed to speed up the process of designing and coding a WordPress theme by eliminating the time spent on WordPress’ back-end PHP that is used in every theme.</p>
<p>Whiteboard is clean, noted, and compact (only 76KB in size &#8211; unzipped!). It includes all the standard PHP tags and PHP files needed for a WordPress theme &#8211; plus a few extras.</p>
<p><a href="http://plainbeta.com/2008/05/20/whiteboard-a-free-wordpress-theme-framework/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/whiteboard-wordpress-theme-framework.jpg" alt="whiteboard-wordpress-theme-framework" width="570" height="200" /></a></p>
<h2>6. <a href="http://wpframework.com/" target="_blank">WP Framework &#8211; A blank WordPress Theme Framework</a></h2>
<p>WP Framework is a blank WordPress theme framework, which aims to cut down on your theme development time. It gives you a solid theme foundation to build your project on top of so you can focus on project-specific features right from the git-go.</p>
<p><a href="http://wpframework.com/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/wp-framework-wordpress-theme-framework.jpg" alt="wp-framework-wordpress-theme-framework" width="570" height="300" /></a></p>
<h2>7. <a href="http://www.plaintxt.org/themes/sandbox/" target="_blank">SandBox </a></h2>
<p>The Sandbox is a powerful tool available for WordPress theme designers and developers. The Sandbox can be easily designed just with CSS, so beginners will feel comfortable not bothering with PHP.</p>
<p>Experienced developers and designers can accomplish almost anything with minimal work, thanks to the rich, semantic markup and profusion of classes dynamically generated by the Sandbox.</p>
<p><a href="http://www.plaintxt.org/themes/sandbox/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/sandbox-wordpress-theme-framework.jpg" alt="sandbox-wordpress-theme-framework" width="570" height="304" /></a></p>
<p><a href="http://www.vanillatheme.com/" target="_blank"></a></p>
<h2>8. <a href="http://onepresscommunity.com/" target="_blank">OnePress Community Framework</a></h2>
<p>The OnePress framework is an integrated website and forum solution. It is, simply, a WordPress theme to serve as the foundation and framework for your web site and online community. Leveraging the powerful WordPress and phpBB projects, OnePress provides a set of features focused on helping you build and maintain your site from the inside out. With this set of tools, you can easily run your community and do so with professional presentation.</p>
<p><a href="http://onepresscommunity.com/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/onpress-community-framework.jpg" alt="onpress-community-framework" width="570" height="276" /></a></p>
<h2>9. <a href="http://wpcandy.com/articles/the-wordpress-starter-theme-project.html" target="_blank">The WordPress Starter Theme Project</a></h2>
<p>And here are some of the features of WPcandy starter theme:</p>
<ul>
<li>
<div>Blank style.css with theme name, author, URL, etc. tags at the top</div>
</li>
<li>
<div>Content-ready 404, archive, search, index, single post, and page files</div>
</li>
<li>
<div>Full, working comments.php file</div>
</li>
<li>
<div>Complete header.php set up with links to RSS, a stylesheet, and JS file; &lt;title&gt; template</div>
</li>
<li>
<div>Default search form template</div>
</li>
<li>
<div>Blank screenshot.png file and images folder</div>
</li>
</ul>
<p><a href="http://wpcandy.com/articles/the-wordpress-starter-theme-project.html" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/wp-candy-starter-theme.jpg" alt="wp-candy-starter-theme" width="570" height="140" /></a></p>
<p>Several child themes and resources:</p>
<h2><a href="http://patdryburgh.net/junction/" target="_blank">Junction WordPress Child Theme</a></h2>
<p>Junction is a WordPress Child Theme based on the Thematic Theme Framework. In terms of style, Junction is vastly different from Thematic, however Junction capitalizes on the power of the Thematic Framework, which allows the ability to style the entire template without touching a single line of original php or html code.</p>
<p><a href="http://patdryburgh.net/junction/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/junction-wordpress-child-theme.jpg" alt="junction-wordpress-child-theme" width="439" height="334" /></a></p>
<h2><a href="http://themeshaper.com/category/thematic-child-themes/" target="_blank">Thematic Child Themes</a></h2>
<p>Thematic offers a bunch of child themes, I featured one of them, but You should check this site for Yourself, actually I suggest You to subscribe to this site if You&#8217;re serious about WordPress theme developing.</p>
<p><a href="http://themeshaper.com/category/thematic-child-themes/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/thematic-chil-themes.jpg" alt="thematic-chil-themes" width="570" height="362" /></a></p>
<h2><a href="http://themeshaper.com/acamas-theme-clarity-elegance-power/" target="_blank">Acamas WordPress Child Theme</a></h2>
<p>Acamas is a Thematic Themelet. That means Acamas requires the Thematic Theme Framework installed in your WordPress theme directory. Thematic powers Acamas. And Acamas builds on the power of Thematic. But don’t worry! Thematic is free. Even better, it’s open-source and one of the most advanced SEO WordPress themes around. Download Thematic now and set your blog on a rock-solid foundation for success.</p>
<p><a href="http://themeshaper.com/acamas-theme-clarity-elegance-power/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/acamas-wordpress-child-theme.jpg" alt="acamas-wordpress-child-theme" width="570" height="313" /></a></p>
<p><a href="http://themeshaper.com/acamas/" target="_blank">Preview live demo</a></p>
<p>And finally I found several related articles, You should read if You&#8217;re interested in actual using/modifying and developing WordPress themes:</p>
<h2><a href="http://themeshaper.com/functions-php-wordpress-child-themes/" target="_blank">How I used a WordPress Child Theme To Redesign My Blog</a></h2>
<p><a href="http://themeshaper.com/functions-php-wordpress-child-themes/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/how-i-used-wp-child-theme.jpg" alt="how-i-used-wp-child-theme" width="570" height="275" /></a></p>
<h2><a href="http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/" target="_blank">Poll &#8211; Which WordPress Theme Framework To Use?</a></h2>
<p>Interesting poll with discussion below, trying to help You choose the right WordPress theme framework for Your case.</p>
<p><a href="http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/framework-poll.jpg" alt="framework-poll" width="475" height="265" /></a></p>
<h2><a href="http://justintadlock.com/archives/2008/12/24/why-i-created-a-wordpress-theme-framework" target="_blank">Why I created a WordPress theme framework?</a></h2>
<p>Justin Tadlock, creator of Hybrid theme framework, explains what&#8217;s theme framework at all and why You should use it at all and much more &#8211; just read this article!</p>
<p><a href="http://justintadlock.com/archives/2008/12/24/why-i-created-a-wordpress-theme-framework" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/why-i-created-wordpress-framework.jpg" alt="why-i-created-wordpress-framework" width="570" height="234" /></a></p>
<p><a href="http://op111.net/53" target="_blank"><br /></a></p>
<h2><a href="http://op111.net/53" target="_blank">How to make a child theme for WordPress: A pictorial introduction for beginners</a></h2>
<p>You can read in this article:</p>
<div>
<ol>
<li>
<div>How child themes work in WordPress</div>
</li>
<li>
<div>How are themes modified without being modified?</div>
</li>
<li>
<div>What you need to make a child theme</div>
</li>
<li>
<div>Assembling a child theme: the framework</div>
</li>
<li>
<div>Using Firebug</div>
</li>
<li>
<div>Adding CSS rules to your child theme</div>
</li>
<li>
<div>Putting it all together and activating the child theme</div>
</li>
<li>
<div>Notes</div>
</li>
<li>
<div>Links to tools and resources</div>
</li>
</ol>
</div>
<h2><a href="http://themeshaper.com/forums/" target="_blank">ThemeShaper Forums</a></h2>
<p><a href="http://themeshaper.com/functions-php-wordpress-child-themes/"></a></p>
<p>This forum will kindly give You answers to many unclear questions dedicated to help You modify WordPress themes.</p>
<p><a href="http://themeshaper.com/forums/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/themeshaper-forums.jpg" alt="themeshaper-forums" width="570" height="286" /></a></p>
<h2><a href="http://lorelle.wordpress.com/" target="_blank">Lorelle on WordPress</a></h2>
<p>&#8220;Helping you learn more about blogging and WordPress every day with help, tips, advice, and techniques for blogging and using WordPress and WordPress.com. The blogging help you need. Now.&#8221; &#8211; amazing site with many useful articles and links about WordPress, blogging helping You to take Your skills to the next level.</p>
<h2><a href="http://lorelle.wordpress.com/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/lorelle-on-wordpress.jpg" alt="lorelle-on-wordpress" width="570" height="97" /></a></h2>
<p><a href="http://codex.wordpress.org/Main_Page" target="_blank"><br /></a></p>
<h2><a href="http://codex.wordpress.org/Main_Page" target="_blank">WordPress Codex</a></h2>
<p>And of course, You shouldn&#8217;t forget about actual WordPress creator codex website.  It seems obvious, but often we forget such things :)</p>
<p><a href="http://codex.wordpress.org/Main_Page" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/wordpress-codex.jpg" alt="wordpress-codex" width="570" height="212" /></a></p>
<h2><a href="http://www.wpdesigner.com/2007/02/19/so-you-want-to-create-wordpress-themes-huh/" target="_blank">So you want to create WordPress themes huh?</a></h2>
<p>Excellent WordPress guide teaching You how to create WordPress theme from scratch and clearly explaining each code snippet. I personally started here my WordPress learning.</p>
<p><a href="http://www.wpdesigner.com/2007/02/19/so-you-want-to-create-wordpress-themes-huh/" target="_blank"><img src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/04/wp-framework/wpdesigner-wordpress-guide.jpg" alt="wpdesigner-wordpress-guide" width="570" height="228" /></a></p>
<p>In this article I wanted to show just the best WordPress Theme frameworks and few guidelines where to continue Your research so I kept WordPress tutorial, resource and article selection for later. Enjoy!</p>
<p>Few further resources:</p>
<ul>
<li>
<div><a href="http://net.tutsplus.com/articles/web-roundups/top-50-wordpress-tutorials/" target="_blank">Top 50 WordPress Tutorials</a></div>
</li>
<li>
<div><a href="http://www.webdesignerwall.com/tutorials/wordpress-theme-hacks/" target="_blank">WordPress Theme Hacks</a></div>
</li>
<li>
<div><a href="http://arbent.net/blog/resources-every-wordpress-theme-developer-should-know-about" target="_blank">Resources Every WordPress Theme Developer Should Know About!</a></div>
</li>
<li>
<div><a href="http://www.tripwiremagazine.com/tutorials/developer-toolbox/xxx-massive-wordpress-tutorial-collection.html" target="_blank">100+ Massive WordPress Tutorial Collection</a></div>
</li>
<li>
<div><a href="http://www.smashingmagazine.com/2008/09/15/wordpress-developers-toolbox/" target="_blank">WordPress Developer’s Toolbox</a></div>
</li>
<li>
<div><a href="http://wefunction.com/2008/10/tutorial-creating-custom-write-panels-in-wordpress/" target="_blank">Tutorial: Creating Custom Write Panels in WordPress</a></div>
</li>
</ul>
<p><a href="http://arbent.net/blog/resources-every-wordpress-theme-developer-should-know-about"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/wordpress/wordpress-theme-frameworks-and-starting-resources/feed/</wfw:commentRss>
		<slash:comments>50</slash:comments>
		</item>
		<item>
		<title>12 Really Handy CSS Framework, Template And Snippet Sites For Smart Web Designer</title>
		<link>http://www.1stwebdesigner.com/css/12-really-handy-css-framework-template-and-snippet-sites-for-smart-web-designer/</link>
		<comments>http://www.1stwebdesigner.com/css/12-really-handy-css-framework-template-and-snippet-sites-for-smart-web-designer/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 16:55:36 +0000</pubDate>
		<dc:creator>Dainis Graveris</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=2387</guid>
		<description><![CDATA[If You are creating and developing new web-sites regularly, You should think about template creation, collecting useful code snippets and things like that. You should do that to fasten development process, so I think You could use, change, optimize these template files to Your needs, however check out licence terms, if You use these for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/resources/12-really-handy-css-framework-template-and-snippet-sites-for-smart-web-designer" target="_self"><img style="border-right: 0px; border-top: 0px; margin: 0px 7px 0px 0px; border-left: 0px; border-bottom: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/title-css.jpg" border="0" alt="title-css" width="150" height="150" align="left" /></a></p>
<p>If You are creating and developing new web-sites regularly, You should think about template creation, collecting useful code snippets and things like that. You should do that to fasten development process, so I think You could use, change, optimize these template files to Your needs, however check out licence terms, if You use these for business purposes. However this is very generalize list for now, to clear out the best from the best sites. Use them well!</p>
<p><span id="more-2387"></span></p>
<p><a href="http://csstidy.sourceforge.net/" target="_blank">1. CSSTidy</a></p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/csstidy.jpg" border="0" alt="csstidy" width="570" height="268" /></p>
<p>&#8220;CSSTidy is an opensource CSS parser and optimizer. It is available as executable file (available for Windows, Linux and Mac) which can be controlled per command line and as PHP script (both with almost the same functionality).<br />
In opposite to most other CSS parsers, no regular expressions are used and thus CSSTidy has full CSS2 support and a higher reliability.&#8221;</p>
<p>I pasted their information, because it says everything better than I could.</p>
<p>For some people there can be a question &#8211; why You need to optimize Your CSS code?  Just if You want cleaner code, faster loading page, so You both &#8211; You and visitor benefit from optimization!</p>
<p>Get <a href="http://csstidy.sourceforge.net/download.php" target="_blank">executable file here</a> or use <a href="http://floele.flyspray.org/csstidy//css_optimiser.php" target="_blank">online optimizer</a>!</p>
<p><a href="http://cleancss.com/" target="_blank">2. Clean CSS</a></p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/cleancss.jpg" border="0" alt="cleancss" width="570" height="343" /></p>
<p>You can also use this online optimizer version, which is very similar, but I am design geek, so I enjoy this site a little more. This calls, pick Your favorite one!</p>
<p><a href="http://www.blueprintcss.org/" target="_blank">3. Blueprint CSS</a></p>
<p><a href="http://www.blueprintcss.org/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/blueprintcss.jpg" border="0" alt="blueprintcss" width="240" height="57" /></a></p>
<p>&#8220;Blueprint is a <strong>CSS framework</strong>, which aims to cut down on your CSS development time. It gives you a solid CSS foundation to build your project on top of, with an easy-to-use grid, sensible typography, and even a stylesheet for printing.&#8221;</p>
<p>Very useful template files, helping You not to start always from big fat zero..and code everything again and again &#8211; now You can spend more time adding new features and think more about design, then reiterative process.</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/blueprint-test.jpg" border="0" alt="blueprint-test" width="570" height="317" /></p>
<p><a href="http://www.code-sucks.com/" target="_blank">4. Code-Sucks</a></p>
<p><a href="http://www.code-sucks.com/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/code-sucks.jpg" border="0" alt="code-sucks" width="240" height="64" /></a></p>
<p>Great collection of many different css layouts, code snippets (CSS, JavaScript, PHP), website templates. These really become handy in web development process. Put these in good use.</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/code-snippet.jpg" border="0" alt="code-snippet" width="418" height="431" /></p>
<p><a href="http://snipplr.com/" target="_blank">5. Snipplr</a></p>
<p><a href="http://snipplr.com/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/snipplr.jpg" border="0" alt="snipplr" width="245" height="66" /></a></p>
<p>Snipplr is very useful place storing and organizing many code snippets (Javascript, HTML, PHP, CSS, Ruby). You use regularly in Your development process. And also everybody can share and add their snippets, so the section  Popular Code Snippets clearly demonstrates the best and the most used codes for everybody. Pretty great. Also these snippets work with TextMate, too.</p>
<p><a href="http://css.maxdesign.com.au/" target="_blank">6. MaxDesign</a></p>
<p>Perhaps You know this site, I think I mentioned it somewhere before, but however this site must be included, because it&#8217;s really useful.</p>
<p>There You can find listamatic1 (one list &#8211; many different ways how to style it), listamatic2 () and several tutorials how to create CSS based lists, CSS floats and use CSS selectors.</p>
<p><a href="http://css.maxdesign.com.au/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/maxdesign.jpg" border="0" alt="maxdesign" width="570" height="444" /></a></p>
<p><a href="http://meyerweb.com/eric/tools/css/reset/" target="_blank">7. MeyerWeb CSS Reset</a></p>
<p>Eric Meyer CSS reset is very popular. You should use resets to neutralize browser&#8217;s default style. Also Eric pointed, that this is just a starting point, but very good one.</p>
<p><a href="http://meyerweb.com/eric/tools/css/reset/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/meyerweb.jpg" border="0" alt="meyerweb" width="570" height="203" /></a></p>
<p><a href="http://developer.yahoo.com/yui/examples/" target="_blank">8. YUI Library</a></p>
<p>&#8220;Every YUI Library component ships with a series of 300 examples that illustrate its implementation. These examples can serve as starting points for your exploration of YUI, as code snippets to get you started in your own programming, or simply as an inspiration as to how various interaction patterns can be enabled in the web browser via YUI.&#8221;</p>
<p>Very useful template files, which are great for starting points and You have good collection of examples to satisfy almost every web designer.</p>
<p><a href="http://developer.yahoo.com/yui/examples/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/yui-library.jpg" border="0" alt="yui-library" width="267" height="304" /></a></p>
<p><a href="http://960.gs/" target="_blank">9. 960 Grid System</a></p>
<p><a href="http://960.gs/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/960-grid-system.jpg" border="0" alt="960-grid-system" width="570" height="135" /></a></p>
<p>This grid system is becoming really popular &#8211; they offer commonly used dimensions, based on a width of 960 pixels offering 12 and 16 column grid systems. Designers use grids, to help their sites to look more harmonious and precise. You get several template files and mockups, when You download  that grid system, which are really helpful in the right hands.</p>
<h5><a href="http://960.gs/files/960_download.zip" target="_blank">Download</a> / <a href="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/demo.html" target="_blank">Demo</a></h5>
<p><a href="http://sencss.kilianvalkhof.com/" target="_blank">10. Sensible Standards CSS Framework</a></p>
<p><a href="http://sencss.kilianvalkhof.com/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/sencss.jpg" border="0" alt="sencss" width="570" height="257" /></a></p>
<p>This framework is also based on Eric Meyer reset system, but also there are more features as basic styling, code is optimized without any double resets and more, go to their homepage to check for details.</p>
<p><a href="http://www.spiffycorners.com/" target="_blank">11. Rounded CSS corners</a></p>
<p><a href="http://www.spiffycorners.com/" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/spiffy.jpg" border="0" alt="spiffy" width="506" height="197" /></a></p>
<p>I guess You&#8217;ve heard about big discussions about rounded corners and how to create ones, here is great online tool where You can get rounded corners, style them online and get code immediately.</p>
<p><a href="http://www.contentwithstyle.co.uk/content/a-css-framework" target="_blank">12. Content with style</a></p>
<p>Good framework collection to allow You rapidly fast develop new websites, thinking more about graphic design and less about coding.</p>
<p><a href="http://www.contentwithstyle.co.uk/content/a-css-framework" target="_blank"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://cdn1.1stwebdesigner.com/wp-content/uploads/2009/01/content.jpg" border="0" alt="content" width="491" height="112" /></a></p>
<p>I hope You&#8217;ll use these sites as a reference evolving Your skills and speed up Your development process! I am sure there are more sites out there, if You know some more, be honest and leave backlinks, will be appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.1stwebdesigner.com/css/12-really-handy-css-framework-template-and-snippet-sites-for-smart-web-designer/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>

