Top Ten Tools and Resources for Web Developers

If you are a budding web developer then you should be aware of some of the amazing resources that are available online. No list of this type can ever be definitive but I’ve tried to gather some of my particular favourites in one place.

Firebug Plugin

This is an absolute must in my opinion. The Firebug plugin is a free add-on for Mozilla Firefox that really lightens the work load when styling HTML elements. I allows you to view changes to your page in real-time as you tinker with the CSS. Great for positioning awkward elements, where pixel perfect precision is required. It also helps you to identify inheritance problems within your style rules.

Blog.Spoongraphics

Home of graphic designer, Chris Spooner. This blog has an abundance of great tutorials and tips. Some of his resources are free and some must be paid for through ‘access all areas’ membership but there really is plenty of great stuff that can be viewed or downloaded for free. Excellent creative advice on Photoshop and Illustrator as well as some insightful writing about the design process, where he explains the reasons behind some of the design decisions in his work.

CG Textures

I absolutely love this site when I need to make a background ‘pop.’ Thousands of textures can be downloaded for free although some of the larger sizes require registration.

W3 Schools

Definitive reference for all developers and designers. Need to know the correct syntax to use is your code, the W3 Schools will have a page dedicated to the particular task that you are looking to achieve. One of my first ports of call when I hit a programming stumbling block.

Webmonkey

Web developer’s resources from wired.com. Includes cheat sheets, color codes and re-usable code snippets. Also has a tutorials section with a design and development tutorials and Javascript help.

Colour Lovers

In my opinion, this is the best place to go for inspiration when choosing a colour scheme for your site. Users submit their own palettes and colour HEX codes, which are then voted upon and can be browsed through by popularity. Also features sections on the latest web and print trends and is quite a bustling and friendly community.

iStockphoto

Not a free site but the ability to download a water-marked comp to try out in a design before purchase is invaluable. I use this to present ideas to my clients and let them make a decision on whether or not to pay the extra for the larger image. There are quite a few stock photography sites online but this one is my favourite choice due to the large number of images and the site’s ease of use.

DevShed

Comprehensive list of developer’s tutorials. Great for learning about the fantastic world of open-source development and adding the latest functionality to your projects.

CSS Zen Garden

The beauty of pure CSS design. The next time someone tells you that Flash is required to make a site look good, tell them to go here!

Web Know How

More tutorials and free code snippets. Also feature free to use design templates, which can be a great starting point when learning or when struggling for inspiration.

I hope that if you are reading this and choose to visit one of these excellent sites then you will find them as useful as I did. Of course, I might well have made a glaring omission and would be glad to hear any suggestions to make this list better.

Code Generators for Rapid Web Development

As a web developer, one thing that helps me to rapidly develop web applications is to use a common application framework that is flexible and robust. Additionally, I like to use code generators to build code for custom applications I build for my client. My most powerful code generators, create code for interacting with the local database dedicated to my website.

Normally, it is bad practice to repeat code when doing development. However, there are certain instances when this can be beneficial and assist in creating dynamic web applications. Here, we will discuss some of the many applications that I have found useful and how you can apply them to your own business.

Object-Oriented Classes

One way I enforce code reuse is by using object-oriented design. For my data access layer I create an abstract class which contains the common functionality. Next, I create derived classes which implement the specific methods which are needed for the entity model (usually a database table).

These derived classes have different fields which represent the fields defined for the table. They also contain mappings for the primary keys, any related fields that are retrieved from related tables, and custom methods for querying the database. The idea is that all of the database calls are encapsulated in the data access layer classes.

These derived classes have enough similarities between one another that it made sense for us to build a code generator to create these files from the database schema.

How to Generate Code in Your Intranet

On our intranet, we have the code generated connected directly to our database management scripts. When an administrator is viewing a table schema, they have a button on the bottom of the screen to generate the code for our data access layer. When the user presses this button, the code is immediately generated and the user can click anywhere on the code to select the code block and copy it to the clipboard.

The process of generating code is surprisingly simple. We simply retrieve the schema from the database and from that we define all the macros that are needed to substitute into a code template. These macros include things such as the script name, database table name, primary key fields, public fields, private fields, and a generated class name.

The code is output to the screen as pre-formatted text. Below this is a web form where the user may tweak any of the macro values that were generated. After making changes to these values, they can click a submit button which regenerates the code using the custom macro values. Of course this step is optional. The user may simply choose to copy all of the program code and paste it in their code editor and continue making changes that way.

Table Administration

In my website administration panel, I have a lot of pages that are built for managing database tables. I have a very capable library which handles all of the heavy lifting for paging through a table of records, creating a new record, editing and deleting a record. This is an object-oriented class that takes a variable number of parameters.

To create a new administration area, I just need to instantiate this class, define all of the required properties, and then call a method called “Process”. The resulting file is usually no longer than 25 lines of code. Creating these files doesn’t take very long when done by hand. However, I knew that creating a code generator for these server-side scripts would save us a lot of time.

Again, the key to accomplishing this goal was to first read the database schema for a table to get all of the field definitions. From these definitions, it would be a simple matter to create the code from an existing script template. I just define macros for all of the properties I need to substitute in the template. As the table schema is read, I build these properties which are later substituted in to the template.

Special Considerations

When generating code, it is important to keep in mind how the script is going to be used. In my data access layer scripts, I know that they are usually two directories beneath the website root. Because of this, I know that any relative links need to go up two levels to get to the site root.

Another important area to consider is form validation. There are certain constraints you can place on a web form to limit the amount of characters a user enters into a text field. You can even make Boolean fields display as radio buttons labeled “Yes” and “No”. Date fields can display using a specialized date picker.

Other special data fields can be displayed based on the field name. For example, fields containing the word “Password” can be displayed as password fields. I use fields with the name “created” and “modified” to track when a record has been changed. Fields that have the text “email” could be validated to make sure they contain a valid email address. Also, fields that have the text “postalcode” could be tested for valid postal codes.

I try to build my code generator so it is as smart as can be. The thinking behind this is that the developer can easily remove extra code that was added if they find too much validation is being done or the wrong type is done. The more work you can save for the developer, the better off you will be in the long run.

Your Web Development Solution!

Website designing has made its mark in the world of internet business. There are countless websites to be found on the World Wide Web these days, which in turn has boosted the importance of web development even more. All successful business ventures want to run a successful website, and the ambitious businessman of today wants to improve his prospects through the internet. No wonder the field of web development has flourished so easily.

Building an attractive, eye-catching, and user-friendly website has greater appeal to users than a plain and boring one. It is in this area that a web designer plays the most crucial role. Only websites with great designs can manage to win the best users and subscribers, vital to any venture’s success. A good website ensures to bring clients straight to the business and push it to its maximum potential.

Complexity Of The Situation:

A web designer needs to have thorough knowledge and understanding of the complex process of designing a website, and should be able to transform the employer’s internet aspirations into reality. It is a better decision to hire a professional web designer to fulfill the purpose of making your business’s website rather than using a template provided by a domain provider.

Outsourcing your requirements to other countries is also not a good idea, as the language and cultural barriers might not get your message across to your potential users and might also not be targeting them properly either.

What Can Be Done?

The most feasible option is to find a web designing agency that enables you to voice your requirements clearly. They might ask you to name some of your favorite websites or your favorite color schemes in order to get an idea of what you really want. A good web designer would always be prepared to listen to what you want. Being clear about your requirements from the start would not only result in a swift execution, but it would also reduce chances of the hassle of redesigning and reworking on the web site. Who wouldn’t want to have their work done the first time around?

In order for this to happen there are a number of steps that work well and are appealing: You need to be very clear about your requirements and your website should be in tune with that of your business. The website should be user-friendly and easy to navigate

When choosing a designer, do a bit of research on their experience and view their portfolio.