Главная Услуги Создание сайтов Языки программирования для веб-сайтов

Языки программирования для веб-сайтов

Данный материал призван обозначить позицию "Darvin Studio" по поводу существующих языков программирования, применяемых при разработке веб-сайтов, а также прояснить ситуацию с устаревшими технологиями в этой сфере.

Языки программирования веб-сайтов

Создание сайта - это, в первую очередь, написание особой программы, которая имеет свою специфику и отличается от тех, что устанавливаются и используются на компьютере. Как и любое приложение, сайт может быть написан с использованием различных технологий. Так, программу на компьютере можно написать на C++ или даже Ассемблере, но это будет требовать серьезных знаний, огромного количества времени и трудоемкой поддержки. Поэтому эти языки эффективны только в узких областях. Аналогичная ситуация и с сайтами - их можно писать на многих языках - php, python, asp.net (C#) и даже на C++. Но в силу своей простоты, расширяемости и легкости обслуживания самый популярный язык на сегодня - PHP. По разным данным до 90% всех веб-ресурсов написано с его использованием. Многие крупные проекты интернета применяют полностью или частично этот язык в стеке своих технологий, среди них такие популярные гиганты как Фейсбук и Вконтакте. Отдел разработки "Darvin Studio" тоже использует в своей работе именно PHP.

Кроме того, мир IT технологий очень динамичен, и то, что было оптимальным лет 10 назад, сейчас считается катастрофически устаревшим. Тот, кто до сих пор работает к примеру в операционной системе Windows XP, выпущенной еще в 2001 году, регулярно сталкивается с рядом проблем, вызванных несовместимостью как различного современного оборудования, так и программного обеспечения. То есть работать можно, но сложно.

Развитие же веб-программирования происходит еще более динамично. Сейчас у языка php основная версия 5 (и на подходе уже 7), однако еще 10 лет назад таковой являлась 4. И отличия между ними настолько значимы, что дешевле заново переписать сайт с php 4 на php 5, чем продолжать обслуживать старую версию.

Приведем пример такого обслуживания. Предположим, необходимо добавить на вебсайт возможность редактирования метатегов для страниц. PHP5 предоставляет огромное число библиотек для удобной и быстрой работы с базами, современные инструменты разработки (фреймворки), которые упрощают решение рутинных задач и т.д. Благодаря этому, вся работа сведется к правке 10 строчек кода - потребуется лишь указать, что у нас есть новые поля и где их требуется использовать. Со старыми технологиями все иначе. Никто не выпускает под устаревшие версии новых библиотек и инструментов, возможности для них остались в том же 2005 году. И для решения той же задачи сначала потребуется создать все то, что  было разработано для новой версии другими людьми (конечно в упрощенном варианте, но все же) и только потом уже переходить непосредственно к реализации редактирования метатегов.

Всегда ли новый сайт - гарантия оптимальной реализации?

Первый нюанс. Даже если сайт создан год назад - есть вероятность, что его написали с применением устаревших технологий. До сих пор существуют "застывшие" в своем развитии веб-студии и программисты, годами работающие по старой накатанной схеме, без применения новых разработок. Есть и другая категория - те, кто пишут на непопулярных языках - например asp.net. Для его поддержки требуются майкрософтовские сервера и знания C#, или что еще хуже Visual Basic. Специалисты "Darvin Studio" знакомы практически со всеми подобными вещами, и могли бы дорабатывать и поддерживать устаревшие сайты, но стоимость работ в этом случае существенно превысит затраты на переделку и перенос веб-проекта на современный "движок".

Нюансы разработки веб-сайтов

Второй нюанс. Существуют вебсайты, написанные на php новой версии, но сделано это так, что с ними крайне проблематично работать. Ведь сайт - достаточно сложный технический продукт и его нельзя писать в лоб, как это делается на школьных уроках информатики. Как у любого программного продукта - важна его внутренняя архитектура. Возьмем тот же пример с метатегами. Чтобы внедрить подобный функционал на сайт через DarvinCMS, достаточно просто добавить нужные поля в один класс и одну форму, а затем прописать их вывод в шаблоне. Далее "движок" все сделает сам:

  • сгенерирует поля в базе данных;
  • создаст две формы для создания и редактирования страницы;
  • создаст их html-представление;
  • создаст обработчик этих новых полей из формы с валидацией;
  • разберется как эти поля сохранить в бд и как их там отредактировать;
  • самостоятельно подгрузит поля из БД, когда нам потребуется их вывести.

И все это будет делаться динамически, то есть что бы ни пришлось менять, об этом позаботится система.

Как все то же самое выглядит при плохой реализации кода:

1) Добавить столбцы в БД.
2) Добавить столбцы в форму создания.
3) Добавить столбцы в html-представления формы создания.
4) Добавить обработку этих столбцов при отправке формы.
5) Добавить валидацию.
6) Добавить сохранение этих столбцов БД.
7-11) Проделать шаги 2-6 для формы редактирования.
12) Найти все шаблоны вывода.
13) Найти код, который достает данные из БД.
14) Добавить логику, выбирающую нужные данные.
15) Добавить вывод всего вышеперечисленного во все шаблоны.
16) Проверить, что ничего нигде не сломалось и ничего не пропущено.

И это все для элементарной задачи. А что уж говорить про доработку более сложных вещей.

У меня уже есть сайт - можно ли его продвинуть?

Опираясь на вышеизложенное, ответить на этот вопрос можно так - если в "Darvin Studio" приходит заказчик с уже готовым сайтом, то есть 4 варианта сотрудничества:

Клиент передает в работу сайт, который написан на основе любой технологии, но с применением современных инструментов и грамотного подхода к разработке. В этом случае стоимость поддержки технической базы будет невысокой. Отдел оптимизации компании выносит вердикт, что сможет успешно продвинуть имеющийся сайт заказчика без каких-либо технических правок, работая в течении всего периода продвижения с тем, что есть. Клиент соглашается на переделку и перенос имеющегося веб-сайта на DarvinCMS с возможностью внедрения любых современных технических решений. Клиент обязуется самостоятельно заниматься технической частью своего проекта (и в случае, если поручения отдела разработки не выполняются, то комплексная ответственность с команды "Darvin Studio" снимается).

Только один из этих сценариев даст клиенту уверенность, что уже существующий проект будет успешно раскручен. Другие варианты не позволят взять веб-ресурс заказчика в работу с прицелом на положительный результат. Поэтому если цель - эффективное продвижение, важно сделать сайт, максимально отвечающий всем современным техническим требованиям.

Наверх