views:

324

answers:

13

Back in the 90's I used to develop websites using Cold Fusion. We also still used tables for most of our page layout, hehe.

I just started getting back into website development again seriously. I'm getting a pretty good handle on the basics with CSS and starting to add Javascript. I'm guessing that I will eventually add PHP as a modern replacement to my CF skills.

Right now I am using an old copy of Cold Fusion studio for my editor and of course Photoshop for my graphics. I have also discovered Firebug and found it to be very helpful.

I was wondering if the community here could give me some pointers as I start back out in this field. Do you have any software suggestions? A new editor I should use? Other debugging tools? Languages you would recommend?

Any comments or ideas that would help a website developer who is starting out would be greatly appreciated. Thanx!

+3  A: 

I would look at Net Tuts+, Think Vitamin, and Smashing Magazine to get back up to speed on what's fresh.

Joe Martinez
A: 

I'd look at Net Beans as an editor/IDE if you definitely want to go the PHP route.

I'm a .NET developer, so maybe i'm biased but i'd look into the .NET framework, and specifically ASP.Net MVC (go for c# if you can in my opinion)

It all depends on what you want to do in the longer term, and if you want to do this just as a hobby or to work as a full time developer.

In the area of the UK i'm in it's a bit harder to find PHP jobs in the larger companies, many are tied in with Microsoft and rely on their technologies such as .NET and MS SQL etc.

Are you looking at taking on more of a design role, css/xhtml coding, or writing applications, web services etc?

Note, just to clarify I also use PHP for many projects outside of full time employment, you can make a living using most technologies, so go with the ones you prefer.

Also check out Tizag for loads of useful, easy to follow tutorials that can quickly get you up to speed on the basics.

Whichever route you go down, definitely get familiar with the jQuery javascript library, it's very powerful and many of the basic functions it makes available are expected in websites these days by clients i've found lately.

Dan Harris
I'm interested in starting my own business as a one man shop website developer. I come from an artistic background, so I'm a natural on the design side. css/xhtml coding is where I am starting right now. Then, I figured I would need something like PHP for projects that require more database interaction. Since I am capable of designing and coding both, I was hoping that would make me a good candidate for running my own one man website shop.
computersaurus
A: 

I've not looked at it myself yet, but the new PhpStorm IDE seems to be getting a lot of praise at the moment

Mark Baker
+1  A: 

For CSS I would recommend reading CSS Mastery for a nice overview including browser differences / bugs.

As far as the software is concerned, I still use Dreamweaver for my old, template based sites, but I´m moving to NetBeans for my new sites. Apart from all the expected features, NetBeans has nice ftp integration, one of the reasons I started using Dreamweaver years ago.

jeroen
+1 for the NetBeans suggestion. I will check it out. I am using Dreamweaver and want to use and IDE, but I can't use Eclipse because it's severely lacking in a usable FTP sync at the moment.
Sonny
+3  A: 

You definitely want to look into a framework. You'll be disappointed with PHP out of the box if coming from ColdFusion, it's not nearly as friendly. This is assuming you're going to use it for database applications, otherwise it really doesn't matter.

Of course, I'm obligated to tell you to check out Ruby on Rails.

treefrog
And I am obligated to up-vote you for asking him to check out Ruby on Rails. +1 for Netbeans too.
Jaryl
I've heard a lot about Ruby on Rails but know very little about it. I'm also trying to figure out where AJAX fits into this picture.
computersaurus
@computersaurus - AJAX is just asynchronous HTTP requests from within the page's javascript using the XMLHttpRequest object that all major browsers now support. Most commonly it's used to dynamically update a page with server-side data or post things without having to refresh.
sje397
+5  A: 

You might consider Eclipse for your IDE. It's free, open source and pretty full-featured. Also, you'll want to implement source control. I like Subversion, which integrates nicely with Eclipse.

If you're looking to update your image editor and you don't want to spring for Photoshop's licensing fee, GIMP is very much improved, open-source and free.

You may want to investigate the various CMSs and frameworks out there. It's possible that one or another may suit your target market. And they can speed up development significantly once you learn their quirks.

Also: JQuery. Don't spend your javascript coding time dealing with cross-browser issues and common tropes.

dnagirl
I'm looking for go into business for myself. If I am a one man shop is source control still needed? I guess for rollback options?
computersaurus
@computersaurus: rollback is super important. What's also very nice is being able to comment each commit. That way, when you've taken a wrong turn, it's easy to see where. Also, you can easily manage forks in your work. In addition, if you develop on one machine and commit to another (or at least a different drive), you have an automatic backup.
dnagirl
And it can serve as a log when you write up invoices.
sje397
Is there any free source control options you would recommend?
computersaurus
votes += (jQuery);
Chad
@computersaurus: Source control is great if you use branching/forking properly. Keep a trunk line around that you don't edit except for merging branches back in. When you have a bug fix (or new feature) branch the trunk, add the feature, and then merge it back in when it's complete. This means, if you're adding a feature in one branch, and a HUGE bug is found that needs to be fixed, you can create a branch from the trunk, fix it, merge it back in, and not have to worry about the other branch you are working on being in the way of the bug fix.
Chad
+2  A: 

I agree with finding a framework. As a general editor, I can't live without notepad++ - http://notepad-plus-plus.org/

It is a text editor, but it does so much. It has code highlighting for many languages - it is an indispensable tool for me.

czuroski
+1 for notepad++...when I was stuck on Windows it was indispensable.
sje397
When you talk about finding a framework are you referring to PHP? Or are there general frameworks for html/css stuff as well?
computersaurus
@computersaurus: here's a list of some of the more widespread PHP frameworks: http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#PHP
dnagirl
Thanx for all the info dnagirl. I like your nick. I use dna in a lot of my nicks because my initials are DNA :-)
computersaurus
A: 

Futher to the nettuts+ answer.

If you're on a mac, i can highly recommend panic's coda http://www.panic.com/coda. It makes writing css a breeze, even though i hand write mine. However if you're strapped for cash a free alternative to that is textmate http://macromates.com/

Firebug is a fantastic little tool, and there is also web developer toolbar https://addons.mozilla.org/en-US/firefox/addon/60/, which is also very very helpful! It has built in links for validating your html and css with w3c.

Languages, definitely PHP imo. I started out in ASP.NET, found it good but i just feel more comfortable in PHP, my suggestion for you is to try them all out and see what works best.

Also when you feel comfortable, take a look into the kohanaphp framework (kohanaphp.com/), its a fantasticly simple framework which as someone else put it, is unobtrusive, you can use as much or as little of it as you like.

Finally my best advice is to just spend every waking moment trying out new things, like making a html page and styling it, making a contact form that kinda thing, i found just messing around is the best way to learn a language.

Hope this helps you get started :)

Rob
+3  A: 

I'm a big fan of jQuery for elegant, client side cross-browser javascript.

If you want to look at some "modern" concepts on the server side, REST is getting some airplay, and cloud stuff like Google App Engine can make for a really efficient development path (scalability 'for free').

But I still stick with the old-school IDE - syntax highlighting text editor. Or eclipse, which sometimes isn't much better ;)

sje397
Sounds like I need to check out JQuery. When I post JS questions people always talk about it.
computersaurus
Yes. You can find negative opinions, but they are rare. I was in your position not that long ago (being an embedded c++ guy who got into a web project) and jQuery has actually caused me to *like* javascript. To the point where I've actually been keen to learn something of [node.js](http://nodejs.org/) for the server side ;)
sje397
A: 

ColdFusion has evolved nicely since the 90's, check out the details of version 9 before abandoning it. Also, consider CFBuilder for a nice IDE for ColdFusion.

ColdFusion 9

CFBuilder

Yisroel
I still have some interest in CF but I was hoping to base my business around more free, open source related technologies.
computersaurus
A: 

here are some helpfull links.

(i visit them daily to be up to date with web Design / development).

adardesign
+1  A: 

The Opera Web Standards Curriculum is a great (re)start for writing correct HTML and CSS and JS. Read it at your own rythm (I mean pace, sorry for my english).

IE6:
Just give up with IE6 if you can (if your clients don't ask specifically for its support). It'll give you plenty of time to learn better things.
If you work for administrations or companies that work for them, that won't be the case; prepare for severe headaches.
Position is everything is a great resource. Don't try to understand everything but at least learn to know and recognize those IE6 bugs. A doubled margin, 3px margin, content seen twice, disappearing content are very well known and documented bugs but if you don't know here they come from ...
Conditional comments and hasLayout (zoom: 1; in one instruction) have been better explained elsewhere I believe, because P.I.E. is really an old site (though still useful).

Page layout: If you have used tables, spacer.gif and are new to web standards like CSS 2.1 used the right way, you'll have a hard time for layouts displaying correctly cross-browser even if you know hot to style entire blocks in the page.
Don't bother to reinvent the wheel, use resources like HTML Gala. Pick up the layout you need depending on fluid/fixed width, number of columns and whether their width is fixed or not and whether there is a footer or not, then understand how/why they did it but don't try to do it from scratch: it's just too complicated when you start to use CSS.

Tools:

  • a good text editor
  • Firefox and great extensions

and you're done. Quite :)
Chrome also has extensions, keep an eye on it in a few months. For now nearly everything needed by a webdesigner/webdeveloper exists on Firefox and some of them on other browsers too.

  • Firebug that you already cited. Explore its tabs, its select boxes and breadcrumbs, where you can edit things live, etc. And I heard you like extensions so dev created extensions for this extension (meme ©Xzibit :)), check for extensions to Firebug. I use Pixelperfect and CSS Usage mainly but others are useful too.
  • Web Developer Toolbar is the other must have extension. Be sure to try every option at least once, there's even a gem in the last menu, first option that only a few know.
  • QuickJava allows quick enable and disable of Java, Javascript, Flash, Silverlight and Images from the Statusbar without having to open any dialogs.
  • MeasureIt to measure width and height of an element or margins.
  • ColorZilla brings a color picker (Shift-Esc)
  • Fireshot for snapshots and commenting them, useful if you want to communicate with a client or a designer, write documentation or for your portfolio.

Others

  • source control (let's avoid the pain of "It worked 3 days ago/I just deleted the wrong file aaargh")
  • two offline backups that won't get robbed/flooded/burnt with the rest of your house/office. The second one can be an USB key/HD with Truecrypt given to family or friends, along with a password only known from your wife/husband and your parents or children for example. You can keep the first one with you (encrypted is better if you get robbed).
  • CMS: you can test Drupal, Joomla and Wordpress as a beginning. Magento for e-commerce. Numerous plugins for each one but their quality may vary!
Felipe Alsacreations
A: 

I think there are two things that mark modern web development:

  1. Web development frameworks
  2. JS libraries, mainly jQuery

Although most of the concepts behind today's Web development is not new (MVC structure, AJAX...), re-discovering these led to a shift in how we do things, and brought back the trust of veteran developers in it as an effective and serious medium.

I definitely recommend that you dive into Ruby on Rails. Learn the main principals and concepts underlying the framework: reusable modules, elegant MVC structure, templating, RJS...

(Alternatively, you might like to check cakephp, the PHP cousin of Rails, which inherits most of the family traits)

Eventually, when you play enough time with it, come to like it and understand it well, you'll stumble upon other frameworks that might suit you more (for one reason or another). My experience moving from Rails to Django (Python), then to Google AppEngine (Python or Java) was nice and rewarding (in personal satisfaction, that is).

That's for the back-end.

Then you come to the vast world of ninja-style-ultra-useful-and-still-fun jQuery (and its numerous plugins) where the joys of web development continues.

Enjoy the ride!

Makram Saleh