With the holidays almost here and the year winding down, what better time to look back and review accomplishments and set some goals for the upcoming year. In this post I'll take a look at some of the tools and technologies I've learned over the past year and why you should learn them too! I'll also set some goals as a developer/designer for the year to come.
What I've Learned
MVC frameworks.
Earlier this year I took it upon myself to choose and use a MVC framework (blog post). MVC stands for Model, View, Controller. The model is a collection of functions that deal with the database (select, update etc.). The view is mostly HTML and is what formats and displays the data for the user to see. The controller gets the data from the model and passes it along to the view. The main reason for using this type of framework is to separate the design (look and feel) of a site from the functions and logic that work with the data. There are many languages that force the developer to use this MVC framework (ie. Ruby on Rails), but PHP is not one of them. Without this framework providing separation, code quickly gets messy, buggy and redundant. Enter CodeIgniter. This is the MVC that I chose to use, and has been very easy to setup and maintain.
MySQL Views
I've been using MySQL to power all my recent sites and projects and it's been working very well. The database is fast, easy to setup and maintain and has all the features you'd expect in a high end database like transaction support, clustering, stored procedures and views. In the past I was never concerned about these features, as I've never had a need for them. But as the sites I developed started becoming larger I started looking for ways to make my job easier and discovered views. A view is basically a saved query that returns results you can then run another query on. For examlple, a simple view could be something like:
CREATE VIEW my_posts AS SELECT * FROM posts WHERE user = 'Dan'
I can then query against the view just as I would a normal table:
SELECT * FROM my_posts WHERE category = 'Design'
This would give a list of all posts created by me and in the Design category. There's a lot more that can be done with views, but I won't go into detail here. See the MySQL Reference Manual for more info.
PrototypeJS
Prototype is a JavaScript framework that aims to ease development of dynamic web applications. It's been around for a while and I've been using it for several years, but until now, I never took advantage of all it had to offer. It makes quick work of AJAX updates and function calls and even offers a "PerodicalUpdater" which performs AJAX calls at set time intervals. There's a wealth of utility methods, helpers and functions just waiting to be called. Browse through the Prototype API and you'll be sure to find something you can use!
Goals For Next Year
Fine-tune my Adobe Illustrator skills.
I know just enough about Illustrator to get by as a web designer. And that's probably because there's not a huge need to use Illustrator as Photoshop can easily get the job done for web graphics. However when doing print design, logo designs etc. Illustrator is really the right tool for this. Doing some print design and a logo re-design earlier this year would have been much easier had I been more comfortable with Illustrator. Below are some great tutorials that I plan to get through in the near future.
jQuery
jQuery is the javascript library that's "designed to change the way that you write JavaScript". With this bold statement from the website and all the buzz surrounding the rapidly growing jQuery community I've decided to add this to my list. jQuery is very much like Prototype (mentioned above), offering shortuct functions, AJAX support and much more. Where jQuery seems to excel is the plug-ins and extensibility that it offers. There are hundreds of plug-ins that can be downloaded and the documentation is very clear and easy to understand.
Learn new web development language and / or platform.
Having gained an in-depth understanding of PHP through my work over the past few years my goal now is to learn a new language or platform. In doing so I'll be able to see how the same tasks and problems can be solved in different ways and add that new knowledge and understanding to my set of programming / web development skills. A few that come to mind:
- Ruby on Rails
- Python
Attend a web design/development related conference.
There are hundreds of excellent conferences all over the US year round offering attendees a wealth of insight and information. Attending one would provide a opportunity to listen to and learn from great speakers and presenters. The conference in particular that I will hopefully be attending is An Event Apart, in Boston, MA, May 2010. An Event Apart covers "code as well as content, usability as well as design" and is featuring designers and developers from all over the US.
Posted Nov 9, 2009 by Dan
Leave a comment







Subscribe via RSS









Site Managr
Halftone
LinkedIn
Last.fm