Веб розробка і програмування сайтів

Розробка сайтів це не зовсім програмування. Під «програмуванням» розуміють реалізацію певного функціоналу. При цьому програміст, як правило, не дуже замислюється над інтерфейсом своєї програми (навіть якщо пише цю програму самостійно).

З веб-розробником цей фокус не пройде, а тому, що сайт - це все ж не стандартне системне додаток, з яким більше користі буде від того, що він не виділяється серед іншого софта встановленого в системі. Сайт повинен хоча б чимось, але все ж виділятися від інших ресурсів мережі, інакше його, як мінімум, не пам'ятають. А як максимум можуть і запідозрити у шкідливих наміри (занадто сайт Х нагадує ресурс В. Чи не паролі він викрадає?)

Веб-розробка - це ...

Якщо у вашій команді є хороший дизайнер і верстальник, тоді програміст повинен зосередитися виключно на розробці функціоналу. Але для фрілансера (особливо початківця) така вузька спеціалізація може бути істотним недоліком.

HTML

Яким би не був «фаршированим» функціонал на сайті (або в веб-додаток) його якимось чином необхідно показати кінцевому користувачеві. Найпопулярнішим способом відображення - це генерація і видача користувачеві html-сторінки. Звичайно, знати все теги «від» і «до» необов'язково, зараз в мережі є багато хороших бібліотек, детально описують кожен тег, є навіть і російські ресурси. Але розуміти, що тег - це об'єкт (контейнер), який має відповідні властивості повинен знати кожен веб-майстер. Також корисним буде знати, що таке DOM і як вона налаштовується. І не лінуйтеся - ті теги, які найчастіше використовуються, завчіть напам'ять, ніж заощадите свій час і поліпшите результат роботи.

CSS

На голом HTML сьогодні далеко не заїдеш. Фактично і практично нічого не зробиш. І взагалі, вміння верстки HTML-сторінки зводиться не стільки до знання HTML, як і до вмінь створювати і використовувати каскадні таблиці стилів, тобто CSS. Тут також не можна не запам'ятовувати кожен параметр для кожного тега (довідники допоможуть), але основи в голові слід таки тримати.

Загалом, HTLM і CSS краще вивчати паралельно. Це не складно, головне зрозуміти принцип «контейнерні» тегів, а також розібратися чим відрізняється блоковий елемент від сатиричного.

JavaScript

Думаю, що ви не раз помічали, що сторінки важать все менше і менше і являються статичними, а все більше інформації відвантажується при запиті користувачем тієї ж інформації, а не під час початкового завантаження сторінки. А про кількість різних вікон, слайдерів, спинив і інших візуальних ефектів я взагалі мовчу. І подібна поведінка веб-сторінок - це вже давно норма, а не виняток. Тому продовжувати пропонувати повністю кам'яно-статичні сторінки - це не сучасно, і, якщо вже зовсім чесно, зовсім незручно.

І звичайно всі ці ефекти стають можливими завдяки JavaScript (не слід плутати з Java - це зовсім різні мови). І крім основ JavaScript непогано було б вивчити jQuery, оскільки саме він є на сьогодні одним з найпопулярнішим JS-фреймворком.

PHP

Незважаючи на всі жарти на адресу PHP і PHP-програмістів, саме PHP продовжує тримати першість як серверний мова для веб-розробки. Тому тут «при всій безлічі вибору іншої альтернативи немає».

Використовувати чистий PHP, фрейворки або CMS - особиста справа кожного. Але сьогодні веб-додатки часто створюються на фреймворк. Що ж стосується десктопних мов програмування (C ++, C #, Pascal і ін.) - Їх знати зовсім не обов'язково, але їх знання не завадить - вам набагато легше буде освоїти PHP. Хоча і в бізнес-процеси відрізняється від розробки десктопних додатків, але є і багато спільного.

Що ж стосується «планування купити кілька книг, тому що це простіше, ніж читати з монітора», то ваша особиста справа, але чи варто? Звичайно сидіти, згорбившись перед монітором не зовсім приємно, але починати на дивані з ноутбука або планшета можна і електронні книги.

Звичайно, все і відразу вам навряд чи вдасться, але наполегливість і праця принесе свої плоди.