   [web] Getting started in web development
  Hello, I'd like some advice from you guys.I'm new to web development: I've done HTML and SQL databases, and that's pretty much it. I want to educate myself on the topic. My objective is being able to create a good-looking website for a small company, possibly with database interaction and user-insertable content.Which technologies should I learn first? php? ASP.Net? And what about CMS systems such as Wordpress? Are they suitable for creating professional-looking websites?Also, could you suggest me some good books to buy? Please note that I'm an experienced C/C++ programmer, so I'm not looking for total newbies books. I also know Java and C#.Thanks for your help!   
  First of all, Client-side. Everything design-oriented is (or should be) done with CSS. So if you're looking to create a good-looking, easily updatable site that's the one I'd focus on. &#106avascript used to be the only way to do some things like button rollovers on a webpage. Not any more. CSS rollovers are re-usable, quicker and easier to code than &#106avascript image rollovers. I personally never use &#106avascript any more.   Next up, Server-side. PHP is usually the back-end language of choice, it's supported on most servers (Unlike ASP) and there is a lot more help/resources out there for it.    Databases. I use MySQL. Only one I know of to be honest! I have no complaints about it though. It's efficent enough for me and easily manageable.   CMS. I have never used Joomla!, Wordpress, Drupal or any other CMS so I wouldn't be able to comment on them. I, instead made my own CMS with PHP and MySQL. I found it perfect for me because it gave me a bit of a challenge and it gave me a lot of experience. It also lets you choose what you want to put in it, you probarbly won't need all the extras. If you think it might be too big of a task, think about it and break it down. I'm only 14, if I can do it So should you :P Also, as far as I know, Wordpress is only really used for Blogs so it mightn't be suitable for you.   (x)HTML. If you're going for standards, go for xHTML, if you're looking for a looser language, HTML is the way to go.   WYSIWYG Editors. I have never used one. There is no need. Notepad(++) is perfect. I'd recommend not using them as you mightn't understand what's going on behind the scenes...   Templates. An easy way out. If you're pressed for time, they're ideal though!   So to conclude...I would learn these things in this order if I was you:1. CSS2. PHP3. MySQL (If you don't know it already)4. You'll know what to do from here on!As for books I wouldn't bother buying any, Borrow from a library if you really must have a book but all the resources you need are out there:W3Schools.Tizag Tutorials.The Manual. (This is your PHP bible!)Also, some other good resources in general for web-dev:--- Lamp, Wamp or a Mamp server (Google if you're a bit confused)--- Up to date browsers: Firefox (your default hopefully!), IE 7/8, Chrome and Safari. Check that your site is the same in all browsers.--- For Firefox: Web Developer toolbar (Add-On) and Firebug (Add-On).So good luck and I just realised that I wrote you an essay!!!-----------------EDIT----------------------I nearly forgot!DON'T USE TABLES!!!Seriously, don't.Use Divs...   ;Quote:Original post by soitsthateasyI nearly forgot!DON'T USE TABLES!!!Seriously, don't.Use Divs......one shouldn't use tables for something they aren't meant for (layout). For tabular data, it's slightly backwards not to use tables. ;)   ;Quote:Original post by KonfusiusQuote:Original post by soitsthateasyI nearly forgot!DON'T USE TABLES!!!Seriously, don't.Use Divs......one shouldn't use tables for something they aren't meant for (layout). For tabular data, it's slightly backwards not to use tables. ;)On the other hand, sometimes tables just do what DIVs can't, even for layout issues. Use whatever gets the job done.Case in point: Google. (view source);  Its important to note that one thing that makes website looks great is graphic design, which is in the domain of fine arts. Given that the client-side programing for websites isn't super difficult, you should focus on some of the more artistic side of things. I would learn the "elements of design" and try your hand at Adobe's Photoshop. Also, Adobe's Spry framework can let you whip out a lot of flashy effects quick.   ;  @Konfusius: Touche!I'd recommend Gimp if you're going the cheap route (Like me!)Oh, and Googles source is a mess to me >_<   ;Quote:Original post by Arcibald WearlotHello, I'd like some advice from you guys.I'm new to web development: I've done HTML and SQL databases, and that's pretty much it. I want to educate myself on the topic. My objective is being able to create a good-looking website for a small company, possibly with database interaction and user-insertable content.Which technologies should I learn first? php? ASP.Net? And what about CMS systems such as Wordpress? Are they suitable for creating professional-looking websites?Also, could you suggest me some good books to buy? Please note that I'm an experienced C/C++ programmer, so I'm not looking for total newbies books. I also know Java and C#.Thanks for your help!Some advice:- Stick with an open source platform, until your or your clients' needs outgrow this platform's capabilities.- The XAMPP server stack is your friend.- Use free online resources, where available. You can't text-search in a book, which you will spend a lot of time doing during all phases of growth as a web developer. Web dev involves so many different technologies (XHTML, CSS, &#106avascript/jQuery, AJAX, PHP, MySQL, PERL) that it's unreasonable to assume you will memorize everything. Instead, initially plan to learn the basics (how to connect to/query a database in PHP/MySQL, how to set up an AJAX request in jQuery, how to quickly markup a page's initial layout in HTML/CSS), and go from there. Do strive to excel at being able to find answers quickly.- Validate your HTML and CSS. Learn what you can and can't do. If you have an unknown audience (e.g. "the internet"), design for Firefox first, then IE (no earlier than 6). But also learn the cool new stuff; when the time is right (or when the project is right), your site designs will shine.- Stay bleeding edge. Learn HTML 5. Learn how cloud apps work, and how to write them. Master AJAX. Even if you don't employ them, if you don't stay bleeding edge, your competition will.- Pick up a good IDE (I switched to Aptana Studio and have had excellent results). Learn how to debug &#106avascript and PHP.- While it's important to learn Photoshop, Illustrator, and Flash, also be aware that there are other, less expensive means by which to achieve identical results (using GIMP, Inkscape, and FlashDevelop, respectively). Remember, you are creating PNGs and JPGs, vector art, and SWF objects, not marrying Adobe.- As for CMS, learn WordPress first; it's a great platform for banging out brochure sites (which I'll wager will make up the bulk of your income at first). Learn how to write custom themes, and learn 'The WordPress Loop' (Google for this!). Once your feet are wet, choose a slightly more complex CMS (Joomla is a good one), and start over. Once you're more comfortable, tackle Drupal (if you're so inclined), or write your own.- Don't, never ever, under any circumstances, fail to try something because someone told you not to. Ignore snobs, purists, and those stuck in their ways. They are time/energy vampires, and will suck your productivity dry.- Keep an eye on the Big Guys (namely, Google, Apple, Adobe, Microsoft, et al). Try to anticipate where they are directing the future of web technology. Adapt your methods to jive with what they're pushing.Good luck!   ;Quote:Original post by soitsthateasyOh, and Googles source is a mess to me >_<Firefox > Web Developer > Outline > Tables > Cells;Quote:Original post by Arcibald WearlotAnd what about CMS systems such as Wordpress? Are they suitable for creating professional-looking websites?Yes, they are.  Existing packages such as WordPress are pre-written, well tested and well documented pieces of code that already offer a lot of existing functionality.  Unless you're doing it as a learning experience I would suggest that duplicating this functionality is a waste of time which could be better spent learning to make use of and customize these existing systems.  Installing WordPress and then creating your own template (or even just buying an existing one if something suitable if available) is a much faster way to get a blog up and running than having to write and test your own code as well as doing the visual design, and you'll get a whole slew of extra features which have all been extensively tested.Quote:My objective is being able to create a good-looking website for a small company, possibly with database interaction and user-insertable content.Ok, lets just break this down a bit...good-looking is mostly a design issue.  Do you have any previous experience with graphics design?  If not you may want to look into books, websites, or even short courses on that area.  Once you've learned to make things look good you'll want to make sure you can also make them usable and accessible.database interaction is a bit of a no-brainer - choose a widely available database platform and learn about using it.  If you've not worked with databases before I'd also suggest some general theory on the topic, which you can then apply to the specifics of whichever database you're working with.  Look into database normalization -- it isn't always practical to use, especially with time constraints, but knowing about it will make you a better developer.user-insertable content is where pre-existing systems are your friend.  Learn what packages are available and what strengths and weaknesses are offered by each.  Learn about the security issues with user provided content.  Look into cross-site scripting (XSS), and learn how to properly sanitize input.  Look at how other popular sites handle these sort of things, and what sort of UI people are used to dealing with.Lastly, a couple of general resources:W3Schools Online Web TutorialsA List Apart - read random articles, or look up specific topics that you're getting intocss Zen Garden - for inspiration, and to see the power of css in use.gotAPI - an excellent documentation resource for web-related APIs and languages.Hope that helps! [smile]   