Forum Moderators: phranque
As of now, I have only built sites in plain vanilla html.
The dillemma is, I have a couple of months to mess with, site needs to be done no later than 3 months from now.
So, should I dive in and learn PHP, MYSQL, or xml, xsl or combination of the above. Is it possible to learn in this short of time starting from scratch and no programming experience? Is it worth it or would plain vanilla static HTML be the way to go?
Am also concerned about browser support and search engine indexing with these languages. Thanks in advance.
Getting Started with PHP and MySQL [webmasterworld.com]
ASP v. PHP4 [webmasterworld.com]
PHP Books and Servers [webmasterworld.com]
I came from VB/Javascript, so it was an easy leap for me to use ASP. I already had an IIS server set up, so I didn't have to worry about installing a J2EE app server or any other software.
Access was already on my machine, and when the time came, I installed mySQL.
Coupled with a WYWISWGGWS editor and a good text editor, dynamic pages began to fly off my server.
All the technologies are good, I like JSP, but for me, ASP was fastest out of the starting gate and it hasn't failed me yet.
Running PHP and MySQL on local machine [webmasterworld.com]
PERL : I HATE PERL. It's best features are that it can run on almost any platform and has excellent regular expression handling. The learning curve isn't too hot on it and when I used it, I found myself spending half the time finding out what I did wrong. It is one of the oldest, though, and so widely implemented that it wouldn't be too tough to implement almost any simple function with it. Advanced functions however are harder to come by.
ColdFusion: It's not as commonly used as PHP, ASP, or PERL but it has a loyal user base and has lots of very, very advanced, useful extensions. Probably one of the easiest of the mentioned languages to learned (for what it does), but unfortunately it doesn't run as well on non-IIS servers (though it is supported on many other servers and platforms). It's codeset includes many inherent powerful functions, including, one of my favorites, the buggy-but-very-useful Verity search. It's fairly easy to get a basic search running on your website, and with a little back-end tinkering, you can get a good one running. The MAJOR downside is that it bottlenecks much more easily than any other language - the tradeoff for power. It's a context-switching nightmare as all the code is integrated in tags with HTML (a blessing for newbies, a curse for the professional)
ASP: Now ASP.NET this powerful language framework embraces several different languages. It's also the language that integrates best with IE (not to say that it's less buggy than others, but it makes use of the Microsoft server in ways that others don't, inherently). The big downside is that it runs only on IIS (there are Apache mods I believe that let you run it there too, but I don't think it provides for ASP.NET support), and many people would claim that the fact that it's a Microsoft product is enough reason not to buy/trust it. That's a value judgement, though, and can be ignored - depending on your own discretion.
PHP: One of the most popular languages amongst the tech-savvy and hobbyist is PHP. While - I believe - ASP is still the most popular corporate solution, PHP is by no means a lesser language/framework. There are often benchmark tests run between the two language/frameworks, but they really have gone either way or come out inconclusive. However, there are two clear benefits of PHP over ASP/ASP.NET: It will run on any platform and it is open source. It is a product that is being perpetually improved, and updates are generally free - though you have to find them at your own leisure. This is not to say that PHP is better than ASP or ASP.NET. With the dawn of ASP.NET and web services, Microsoft stands to remain as a strong corporate solution - but PHP will continue to run at least neck-and-neck with it.
I can't say which one is best. If it weren't for bottlenecking, I would go with ColdFusion for it's raw power and built in functions. However, it does bottleneck, and it costs money to run (unlike ASP or PHP). It is used by big name sites, not often by small, but it is an excellent learning tool for those just getting into scripting languages. Given that bottlenecking is the case, I'm sticking with PHP and ASP.
To do a 1000 page site with a shopping cart without any programming experience may be a little hard to do - but with the right help, it's possible.
I wouldn't wish it on anyone though.
Not having experience with a script language could bite you in the backend but you will learn MUCHO before you're done. One thing I've found is that no matter how well I think I know a language, once I've played with it, I always see a way I could have done the project better. And a thousand pages - whoof. You may or may not regret trying something new.
I suggest if you are going to take this on then go with PHP and MySQL. I've worked with Cold Fusion and there isn't anything it offers that I can't build with PHP - plus PHP is much faster.
In addition, the majority of the PHP scripts available out there are free. To be fair, you can find some free CF scripts as well but I feel they pail by comparison to the quality of those written by the PHP community. I don't mean to bash CF - and maybe I'm being unfair. But I made the switch as I prepared to build a smallish alternative press web site which offered the owner the ability to do his own updates. Once I muddled my way through the majority of a few tutorials, I felt comfortable with PHP - but I'm a programmer by trade. Once I got "under the hood" with PHP I felt it was the better tool and never looked back.
I encourage you to think about just how much coding you really have to do and keep it to a minimum. The cart is a no-brainer - it requires script and I'd recommend PHP (several freely available at Hotscripts).
The one thing you'll lack if you jump in is the benefit of having "been there - done that" which would teach you what to look for and prepare for - like how to build modular code. But sooner or later - get your feet wet with PHP & MySQL. You'll be glad you did.
Am also concerned about browser support and search engine indexing with these languages. Thanks in advance.
I don't think this something you really need to worry about. Major S.E.s nowadays will index all this content. Scripting languages aren't browser-specific so that's something you don't really need to concern yourself with either. Scripting languages that are processed on the server (as opposed to Javascript which runs in the browser) is run BEFORE the information is sent to the browser to render.
I'm am already having second thoughts about it. I am bogged down in SAM's PHP in 24 hours book in the 4th hour and the stuff is making my head hurt. It seems to be written for people that learn this stuff faster than I do. I need a much easier tutorial (more advanced than WebMonkey's) to get started.
I may just build a small version of the site and then add PHP later.
Thanks for all the tips here. If any of you have more advice on how to get started with PHP, don't hesitate to post here. I am sure there are others reading that are interested.
[htmlgoodies.com...]
If you already have PHP set up, here's a really good "Beginers" (I can't help if Davy James, the author, mispelled it) primer on PHP. I don't know how far you've gotten in your book, but this covers the basic functionality of the language. You can actually do a WHOLE LOT with what they teach in this primer - it's really a matter of knowing techniques. Languages are never as big as they seem.
Whether you use PHP / ASP / JSP is completely up to you, but remember that you have database requirements to deal with as well.
In my opinion if you are starting out and have the resources you may be better looking along the lines of ASP/VB with MS Access. For everyone out there who has just cringed this is a low level solution but a solution that is very workable for a begginner.
Remember not to use technology for technologies sake, design and simplyfy before you build, you won't regret it.
Three months is a very short time to study a new programming language and work up custom software to the point where it's functional.. I'd take the easy way out and go with a ready-made shopping cart solution, preferably open source. With a good interface and custom templates set up, it should go very quickly, leaving enought time to work out any glitches that come up.
The price is right (like free), and if time is a factor, part of the budget can go to subcontract the finer points of cart installation, including whatever it would take to have the product displays non-dynamic.
These can be given a test run, here's a thread on Red Hat Akopia Interchange vs osCommerce [webmasterworld.com]. It can't hurt to check them out.
One other note 'bout CFM: make sure you pay for a host that heavily monitors its servers - it tends to crash way more than other servers. No problem with a good host, but we've had to switch before with some lame ones.
Oh, if you use an MS Access database when programming your site locally, don't use that live on the Web - Access can't handle very many queries at once, and not only slows down but can crash "open", causing data loss. Once you're done with everything, get someone to upsize it to a SQL database (or learn to do that yourself).
And if you do go for it and find you're getting bogged down - you should remember that you have all of us. We'd be glad to help where we can.
www.devshed.com
www.onlamp.com
www.phpbuilder.com
www.php.net
www.mysql.com
just to get you started ;)