Getting feet wet in web dev

From Visual Basic to GNU C, this is the place to talk programming.

Moderators: SecretSquirrel, just brew it!

Getting feet wet in web dev

Postposted on Tue Jul 22, 2008 5:20 pm

Hey guys, I have an upcoming web development project later this semester and I want to start working towards a better understanding of the current technologies and languages so when it comes to actually producing a website I won't be left scratching my head. I already have a basic understanding of HTML but that's about as far as my web development knowledge goes. I know that some of you here have already jumped through the hoops so to speak, and I was wondering; how would you approach learning web development if you were to start again today from the position I'm in?

I'm not really sure which languages or technologies are the most important and what I should focus on at this stage, there seems to be a few emerging technologies which I figure I should probably stay away from for now. FYI the website I will eventually develop will be for a pizza restaurant, it will display general info such as menus/pricing and allow for customers to place an order online. This will be my industry project for the degree I am working towards completing this year, we choose a project we don't have experience in so that it is challenging and we learn from the experience.

So far the first things I am looking at are CSS and PHP, and once things start to sink in I may look at javascript and how that ties into AJAX for making pages more functional (not quite sure how to phrase that, since I know AJAX isn't a language itself). I think I will be needing to use Apache as the webserver and mySQL for processing transactions, I came across XAMPP and WAMP which manage your PHP/Apache/mySQL installation. These look like a good thing to me, but I don't know enough at this point to be sure. I did a quick search of this forum and came up with the htmldog link which seems like a great place to start for beginning web programming, most other threads I found where focused on specific issues and not much help.

Am I headed in the right direction? Will Apache and PHP be appropriate for a business website such as this? Are there other languages or technologies I have missed or should be aware of? It feels like I am missing something but I don't know what. I think this is because many of the web technologies tend to rely on one another in order to work, so the only way to understand the big picture is by understanding each of the smaller components. At this stage I understand very little, so it all seems confusing.

Also to any web developers out there, what tools and languages do you use?

Thanks, and useful links so far;

http://www.htmldog.com/
http://www.w3schools.com/
http://www.killerphp.com/videos/
blitzy
Gerbil Jedi
 
Posts: 1775
Joined: Thu Jan 01, 2004 5:27 pm
Location: New Zealand

Re: Getting feet wet in web dev

Postposted on Wed Jul 23, 2008 3:36 am

I know I maybe in the minority here but I used to work with PHP for some time before shifting to ASP.NET w/ C#. Reduced a lot of boilerplate code and its not that hard to learn really. I haven't looked back since. And with the new AJAX toolkit, it lets you add a lot of generic AJAX functionality out of the box. You can build your custom controls if you want something much more powerful but having the usual functionality like auto updating content much more easily always comes in handy.

I've heard people rave about RoR but I've yet to check it out.
lordT
Darth Gerbil
 
Posts: 7426
Joined: Fri Nov 25, 2005 1:11 pm
Location: Writing

Re: Getting feet wet in web dev

Postposted on Wed Jul 23, 2008 6:26 am

If you haven't already, get the book. It covers a few more things than the Web site, and it also has a complete quick reference in the back. Much better than using a Web site to find that one tag you can't remember how to use.

A solid understanding of foundation software will only help you. Apache: The Definitive Guide and What's New in Apache Web Server 2.2? will definitely provide a solid understanding of the Apache HTTPd. (Also, check out my little HOWTO about SNI.) Learning MySQL will not only help you understand what MySQL is capable of, but it will show you how to write SQL statements. Programming PHP has been very enlightening as well.

That is as far as I have gotten, but I know I will need to at least add JavaScript as well in order to do all the things I want to do.
The best things in life are free.
http://www.gentoo.org
Guy 1: Surely, you will fold with me.
Guy 2: Alright, but don't call me Shirley.
titan
Grand Gerbil Poohbah
 
Posts: 3276
Joined: Mon Feb 18, 2002 6:00 pm
Location: Great Smoky Mountains

Re: Getting feet wet in web dev

Postposted on Wed Jul 23, 2008 6:01 pm

I also saw a few comments around raving about Ruby on Rails, I don't really understand that at this stage though. Another obvious thing I missed was XML, which I will no doubt need to learn as well.

In terms of ASP.NET vs PHP how do you really know which is more appropriate? I've read a couple of articles comparing the two, and it seems as though they are very similar and PHPs main advantage is that its free and multi-platform and well documented. The disadvantage for ASP.NET seems to be liscensing, and if using Unix PHP is probably more appropriate.
blitzy
Gerbil Jedi
 
Posts: 1775
Joined: Thu Jan 01, 2004 5:27 pm
Location: New Zealand

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 7:40 am

blitzy wrote:In terms of ASP.NET vs PHP how do you really know which is more appropriate? I've read a couple of articles comparing the two, and it seems as though they are very similar and PHPs main advantage is that its free and multi-platform and well documented. The disadvantage for ASP.NET seems to be liscensing, and if using Unix PHP is probably more appropriate.



"Free" is a relative term here. The cost of using ASP.NET is the cost of having a windows license, since ASP.NET is run (for the most part, I'll cover that later) on top of IIS, which requires windows. Using the .NET Framework is free, and Microsoft also has released their "Express" editions of Visual Studio which will provide you with a robust development environment for free as well. One of the reasons I prefer C#/.NET over PHP is the fact that I find the IDE's better.

In terms of cross platform, for the most part, using .NET means windows only. There is the Mono project that aims to bring .NET software to Linux, but I honestly have no clue how well it works.
Intel i7 860, Asus P7P55D Pro, 4x2GB Corsair XMS3 1600 (CMX4GX3M2A1600C9), EVGA GTX 560 Ti Superclocked
Seagate 7200.7 160GB, WD Caviar Black 640GB, WD Caviar Green 1TB, WD Caviar Green 2TB
Dell 2408WFP and Dell 2407WFP-HC for dual-24" goodness
emorgoch
Gerbil Elite
 
Posts: 686
Joined: Tue Mar 27, 2007 10:26 am
Location: Toronto, ON

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 8:49 am

I am also in the .net/C# camp. I've played with PHP and Java for web dev. IMO, if you HAVE to use Linux as the platform, java or PHP will suit you fine. Among these two, it is way easier to setup an environment for PHP, but if you have a CS background, java is a much nicer language. If you can use IIS, I'd use .Net. I find it a much nicer environment overall. Coming from C-like languages, C# also feels much more at home to me. As far as documentation, MS actually has decent java-like help files for .NET. Between those, and google, you will be set. I, personally, actually had a harder time finding info for PHP than .net or java.
"I take sibling rivalry to the whole next level, if it doesn't require minor sugery or atleast a trip to the ER, you don't love her." - pete_roth
"Yeah, I see why you'd want a good gas whacker then." - VRock
dextrous
Gerbil Elite
 
Posts: 561
Joined: Mon Nov 22, 2004 12:49 pm
Location: Ooooooooooklahoma

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 11:03 am

Eeek. I can't believe some of the responses here. :(

First off let me say that you ARE headed in the right direction. HTML + CSS + PHP + JavaScript -- I will add to that JavaScript libraries including (but not limited to) jQuery and YUI. WampServer is excellent for development, but obviously you will not want to use it for a production site.

If you're getting started in Web dev, .NET is absolutely NOT the way to go, as it's long-term purpose is to serve as an application development framework vs pure web development. There are several key reasons why I do not recommend it to Web developers:

1. Does not conform to Web standards well, and updates to provide better support take FOREVER.

2. Lacks cross-browser compatibility for front-end rendered code -- including AJAX and JavaScript. Throw in some pre-made components and you compound the issues. Regarding the AJAX, most .NET components are written for JScript execution engines in the Internet Explorer browsers, and there is often complete incompatibility with other browsers.

3. Does not even support good Model-View-Controller practice -- and no, the latest MVC CTP does not count. One of the projects we're working on internally here we're building on the MVC CTP, and despite it's "MVC" name it still lacks clean support.

Enough on that. We have Java, PHP, RoR, Perl, and .NET guys here at EAI, and they're all experts at what they do. The fact is that currently, PHP and RoR are the best Web site development languages, with Perl coming in close. Java is complex and expensive, but delivers the highest performance and flexibility. .NET lives in a strange world that tries to do everything, but can't seem to do any one thing really well.

Personally, I'm a designer so I have to work in all languages. I've done the most of my programming work in PHP and RoR, quite a bit in .NET, and some in Java. We basically use whatever the client demands, and in situations where we can make recommendations we analyze the clients needs and give them the best platform for them. I will say that we rarely recommend .NET sites and typically only build them per client's request.
JdL
286DX > Pentium Pro 200 > Athlon 1000 @ 1.4 GHz > Athlon 64 2.2 GHz > Athlon XP 3200+ > Core 2 Duo 3300 @ 4.0 GHz > Core 2 Quad 6600 G0 @ 3.2 > Core i7 3770 @ stock
JdL
Gerbil Elite
 
Posts: 980
Joined: Thu Aug 29, 2002 10:45 am
Location: United States of America

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 11:48 am

JdL wrote:1. Does not conform to Web standards well, and updates to provide better support take FOREVER.
Technically, the generated code does validate though it isn't always semantically correct. You can always tweak the control to generate exactly what you want or use control adapters.

JdL wrote:2. Lacks cross-browser compatibility for front-end rendered code -- including AJAX and JavaScript. Throw in some pre-made components and you compound the issues. Regarding the AJAX, most .NET components are written for JScript execution engines in the Internet Explorer browsers, and there is often complete incompatibility with other browsers.
The front end code is actually cross browser compatible last I checked.
lordT
Darth Gerbil
 
Posts: 7426
Joined: Fri Nov 25, 2005 1:11 pm
Location: Writing

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 1:37 pm

lordtottuu wrote:
JdL wrote:1. Does not conform to Web standards well, and updates to provide better support take FOREVER.
Technically, the generated code does validate though it isn't always semantically correct. You can always tweak the control to generate exactly what you want or use control adapters.

JdL wrote:2. Lacks cross-browser compatibility for front-end rendered code -- including AJAX and JavaScript. Throw in some pre-made components and you compound the issues. Regarding the AJAX, most .NET components are written for JScript execution engines in the Internet Explorer browsers, and there is often complete incompatibility with other browsers.
The front end code is actually cross browser compatible last I checked.


The thing to understand is that almost all of the front-end code in .NET is written deeper down, inside whatever .NET component you might be using, and the vast majority of those components are developed without complete browser or standards-compliance testing. As you say, to do it right you've got to do it yourself, which means developing layers of workarounds on your controls. We're doing the same thing here, even with the MVC kit.

We're close to completing development on a .NET MVC-based social community site, and it turns out that the level of effort has been about 2x greater than if would have been had we used PHP + a good framework -- and that's after cutting out several features that would have been nice to have.
JdL
286DX > Pentium Pro 200 > Athlon 1000 @ 1.4 GHz > Athlon 64 2.2 GHz > Athlon XP 3200+ > Core 2 Duo 3300 @ 4.0 GHz > Core 2 Quad 6600 G0 @ 3.2 > Core i7 3770 @ stock
JdL
Gerbil Elite
 
Posts: 980
Joined: Thu Aug 29, 2002 10:45 am
Location: United States of America

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 6:56 pm

thanks for the replies, I found that very informative JdL good to hear from someone in the industry! I'll look into that MVC concept further since I've seen it mentioned a few times on websites and didn't understand. I have been learning about HTML so far and have that pretty well under control since it's the easy part, now onto CSS which should be a bit more challenging.

I think that from what I can gather people seem to like ASP.NET because the IDE is quite nice to use, I have seen it being used at school briefly and it did seem pretty clean and easy to use. But like you say, it's not something for a beginner like me so I'll leave that till last. It seems odd that there's still so many server side languages fighting for dominance, I even see CGI being mentioned a lot which I thought had been superceeded way back. Shows how little I know! But I suppose it's not really a contender, just limping towards death.

Also can I ask what software you like to use for your development projects JdL?
blitzy
Gerbil Jedi
 
Posts: 1775
Joined: Thu Jan 01, 2004 5:27 pm
Location: New Zealand

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 7:18 pm

CGI, Common Gateway Interface, is not a language, but a HTTP daemon protocol. Languages use CGI to manipulate information on the server.

Also, PHP has its own IDEs available. Literally hundreds. If you don't like the way one IDE does something, you can get a different one. Just search for "PHP IDE" through Google. Bluefish is a personal favorite of mine. It isn't really a PHP IDE as much as it's a general development environment.
The best things in life are free.
http://www.gentoo.org
Guy 1: Surely, you will fold with me.
Guy 2: Alright, but don't call me Shirley.
titan
Grand Gerbil Poohbah
 
Posts: 3276
Joined: Mon Feb 18, 2002 6:00 pm
Location: Great Smoky Mountains

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 7:37 pm

Jdl, your ratio of (expressing strong opinions / knowing what you're talking about) is quite poor, at least when it comes to ASP.NET. My company (Fortune 500 ISV) delivers cross-browser applications using ASP.NET. Our apps have extremely rich interfaces (drag-n-drop, AJAX, heavy CSS), and we've had minimal issues with compatibility. As long as you don't do anything boneheaded with your markup, you will have no significant problems in addition to the ones you will naturally have with HTML.
bwoodring
Gerbil
 
Posts: 93
Joined: Sun Jun 23, 2002 9:20 am

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 7:49 pm

If I had to learn it all over, I'd have skipped classic asp and gone strait to .Net. However, starting ALL the way over, I'd learn D/X/HTML and CSS, and javascript for your DOM control and style - then research current market trends and footholds for what server side language has a grip where you think you might see yourself in a few years. It's hard to beat a well written .NET application for its portability, ease of upgrade, and maintainability. I'm still what I'd consider a .N00b but I'm enjoying the ride, it's unlearning all the wheels I've invented over time and learning to use the classes within the framework to my advantage rather than mash them up.

The web languages and technologies are changing at such a pace that it's very difficult to be a master at any one, you usually end up picking 1 or 2, being pretty good at them, and learning the rough ins and outs of the others. Not just the change but the inter operation between languages like using ajax with .Net and so on - so it pays to get a good grasp of the basics, and it will DEFINITELY help you to learn basic programming because the future of the web is certainly headed far towards the server side of things with applications.

People who can design a pretty looking website are a dime a dozen anymore because HTML and CSS have become so accessible. If that was all I knew how to do, I'd not be employed anywhere long term.
Corsair 600T | ASUS P8P67 PRO | Intel 2500k @ 4.4Ghz | EVGA 560 TI | G.SKILL Ripjaws Series 8GB | Corsair HX650 650W
steelcity_ballin
Gerbilus Supremus
Silver subscriber
 
 
Posts: 11883
Joined: Mon May 26, 2003 4:55 am
Location: Pittsburgh PA

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 8:05 pm

JdL wrote:We're close to completing development on a .NET MVC-based social community site, and it turns out that the level of effort has been about 2x greater than if would have been had we used PHP + a good framework -- and that's after cutting out several features that would have been nice to have.
Is there any chance you guys are doing something wrong? Working with .NET reduced the level of effort on my part not that the other way around. And I've worked on a couple of bigger projects so I know the issue is not scaling as such. Given the choice I'd choose ASP.NET over PHP any day hands down.
lordT
Darth Gerbil
 
Posts: 7426
Joined: Fri Nov 25, 2005 1:11 pm
Location: Writing

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 8:13 pm

bwoodring wrote:Jdl, your ratio of (expressing strong opinions / knowing what you're talking about) is quite poor, at least when it comes to ASP.NET. My company (Fortune 500 ISV) delivers cross-browser applications using ASP.NET. Our apps have extremely rich interfaces (drag-n-drop, AJAX, heavy CSS), and we've had minimal issues with compatibility. As long as you don't do anything boneheaded with your markup, you will have no significant problems in addition to the ones you will naturally have with HTML.


You make it sound like I said it's impossible to make ASP.NET get up and dance. I said no such thing. The ".NET MVC-based social community site" that I alluded to in one of my previous posts will be fully standards AND Section 508 compliant -- and it has a VERY complex CSS-driven interface.

What I said was, the level of effort to accomplish this in .NET is greater.
JdL
286DX > Pentium Pro 200 > Athlon 1000 @ 1.4 GHz > Athlon 64 2.2 GHz > Athlon XP 3200+ > Core 2 Duo 3300 @ 4.0 GHz > Core 2 Quad 6600 G0 @ 3.2 > Core i7 3770 @ stock
JdL
Gerbil Elite
 
Posts: 980
Joined: Thu Aug 29, 2002 10:45 am
Location: United States of America

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 8:20 pm

lordtottuu wrote:Is there any chance you guys are doing something wrong? Working with .NET reduced the level of effort on my part not that the other way around.

There's always a chance we're doing something wrong. ;) What platform did you move to .NET from that caused a decreased LOE? BTW, if you move from something you / your team is weaker in you are likely to get better results no matter what the other platform was.
JdL
286DX > Pentium Pro 200 > Athlon 1000 @ 1.4 GHz > Athlon 64 2.2 GHz > Athlon XP 3200+ > Core 2 Duo 3300 @ 4.0 GHz > Core 2 Quad 6600 G0 @ 3.2 > Core i7 3770 @ stock
JdL
Gerbil Elite
 
Posts: 980
Joined: Thu Aug 29, 2002 10:45 am
Location: United States of America

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 8:41 pm

blitzy wrote:It seems odd that there's still so many server side languages fighting for dominance...

Not really odd, in my opinion. Each has its strengths and weaknesses, allowing them to carve out niches for themselves. PHP for example is easy to implement from scratch, light, and highly reliable. .NET is highly adaptable in the enterprise environment where multiple client or server apps need to interact. Java is high-performance and scales beyond traditional computers -- they use it in the Mars lander, for example. Ruby and the Rails framework is extremely concise, and shortcuts a lot of the groundwork of app development.

blitzy wrote:Also can I ask what software you like to use for your development projects JdL?


When I do do dev work (my primary job is front-end designer / engineer):

* For Ruby I do Dreamweaver with the RubyWeaver extension.
* For PHP and Java I use Eclipse with various plugins. I'm also a heavy Flex Builder (based on Eclipse) user, but Flex is front-end.
* When in .NET, I will use Microsoft Expression and Visual Studio 2008.
* For anything HTML, JavaScript, or CSS I typically run with Dreamweaver.
* For general code hacking in any of the above, I will pull out the completely free-and-fast Context Editor. I used to be a big jEdit fan, but support for that product hasn't been so good as of late.

Development is typically done with Firefox and the Firebug plugin, and many of our guys have found other Firefox plugins that they like to use as well, but Firebug is pretty-much a STANDARD. In the testing phase, we branch out to other browsers including IE7 / 6 with a variety of JavaScript debugging, DOM analysis, and HTTP listener plugins.
JdL
286DX > Pentium Pro 200 > Athlon 1000 @ 1.4 GHz > Athlon 64 2.2 GHz > Athlon XP 3200+ > Core 2 Duo 3300 @ 4.0 GHz > Core 2 Quad 6600 G0 @ 3.2 > Core i7 3770 @ stock
JdL
Gerbil Elite
 
Posts: 980
Joined: Thu Aug 29, 2002 10:45 am
Location: United States of America

Re: Getting feet wet in web dev

Postposted on Thu Jul 24, 2008 8:51 pm

Having worked at least a bit with just about everything EXCEPT RoR, I have to say PHP is the way to go. Speed of development is far far better, documentation is better (not just talking about functions, but about solving common problems),the wealth of IDEs/tools is better, the cost is better, it really doesn't have a downside. Oh wait, it's free, so it must not be better than something that costs money :roll:

Every time I work with another team using .net, I always end up thinking things like "....it took you 2 MONTHS to build this?!?!", and then I remember how unproductive it is.
nagashi
Gerbil
 
Posts: 14
Joined: Mon Apr 19, 2004 8:34 pm


Return to Developer's Den

Who is online

Users browsing this forum: No registered users and 0 guests