На сённяшні дзень існуе вялікая колькасць сістэм кіравання сайтам (CMS), і вэб-студыі, імкнучыся прапанаваць заказчыку максімальна магчымы выбар паслуг, вядуць распрацоўкі праектаў на любой платформе, якую абярэ кліент. Але ці з'яўляецца гэта на самай справе перавагай і як адбіваецца на якасці распрацоўкі?
Перш за ўсё варта сказаць, што ў гэтым артыкуле гаворка пойдзе не пра адрозненні CMS, а аб агульных звестках распрацоўкі праектаў.
Любы праект дзеліцца на дзве часткі: дызайн і праграмная частка. З аднаго боку, усе сайты, па-за залежнасці ад выбару CMS, пішуцца на адных і тых жа мовах праграмавання.
Самая галоўная рэч пры распрацоўцы праграм - ясна прадстаўляць канчатковую мэту.
Бьерн Страуструп Зыходзячы з гэтага, заказчыку можа здацца, што праграміст зможа распрацаваць сайт на любой платформе. Гэта бясспрэчна так. Але кожная сістэма адрозніваецца сваім наборам функцый і гатовых рашэнняў. Таму ўся каманда павінна пастаянна папаўняць свае веды пра асаблівасці працы той ці іншай CMS - чытаць дакументацыю і праходзіць сертыфікацыю, што дазволіць разумець асновы і вырашаць задачы найлепшым спосабам. Чым больш сістэм спрабуе асвоіць праграміст, тым ніжэй якасць распрацоўкі, бо ён будзе надаваць недастаткова часу для вырашэння сваіх задач і палічыць, што найлепшым выхадам будзе напісаць «мыліца» (досыць вольны пераклад словы work-arounds) і здаць праект.
Пры ўсёй шматстатнасці гатовых рашэнняў (многія CMS прапануюць у сваім складзе гатовыя інтэрнэт-крамы, публікацыі навін, форумы), распрацоўніку неабходна максімальна эфектыўна інтэграваць кампаненты і ўласны код у платформу. Бо стандартныя пастаўкі рэдка вырашаюць задачы кліента і падыходзяць пад бізнес-працэсы кампаніі. Толькі тады праект будзе выконваць сваю задачу, і прыносіць максімальную прыбытак.
Заўчасная аптымізацыя - корань усіх злы.
Дональд Пуга
Наступным этапам з'яўляецца аптымізацыя праекта. Валодаючы агульнымі ведамі пра вэб-праграмаванні, распрацоўшчык зможа аптымізаваць праект толькі напалову (аб'яднаўшы скрыпты, правільна напісаўшы стылі, падумаўшы пра вагу загружаных старонак і выбраўшы хостынг, які знаходзіцца як мага бліжэй да мэтавай аўдыторыі наведвальнікаў сайта). Прывяду ў прыклад найбольш частую і знаёмую ўсім сітуацыю: наведвальнік сайта гартае каталог інтэрнэт-крамы, ці карыстаецца фільтрам, спрабуючы палегчыць сабе пошук патрэбных тавараў, і ў выніку чакае выніку некалькі секунд. Не жадаючы марнаваць такая колькасць часу на выбар тавару, наведвальнік хутчэй сыдзе на аналагічны сайт з падобнай таварнай групай.
Адсюль вынікае пытанне: колькі ж павінна загружацца старонка і які час браць за эталон? Ад моманту, калі карыстальнік пачаў адкрываць старонку ў браўзэры, да яе поўнай загрузкі праходзіць каля 346.8 мс (у гэты час уключаны падгрузка стыляў, скрыптоў і малюнкаў). Варта адзначыць, што такая хуткасць загрузкі будзе дасягацца толькі пры ўмове, калі паміж кампутарам карыстача і серверам будзе самы кароткі адлегласць, дастатковая хуткасць канала, а гэтак жа неабходна ўлічыць параметры латэнтнасці. У рэальнасці хуткасць загрузкі старонкі будзе роўная прыкладна 2 секунды. Калі ж старонка загружаецца моцна даўжэй, то, хутчэй за ўсё, гэта звязана з недахопамі праграмавання пры праектавання. Затрымка можа быць звязаная з няправільным напісаннем звароту ў базу даных, што значна можа нагружаць праект. Гэтак жа істотную нагрузку аказваюць розныя флэш-анімацыі або іншыя сэрвісы (надвор'е, курсы валют, блокі сацыяльных сетак і да т.п.). Кажучы пра апошнія: не значыць, што сайт трэба пазбаўляць дадзеных сэрвісаў, наадварот, трэба прадумаць, якія варыянты іх выканання будуць менш за ўсё нагружаць старонку. І нарэшце, «павольныя сайты» горш індэксуюцца пошукавымі сістэмамі. Гэта звязана з тым, што пошукавы робат, не дачакаўшыся загрузкі старонкі, прапускае яе і не ўключае ў агульны індэкс.
Такім чынам, падвядзем вынікі. Перш чым стаць кліентам якой або кампаніі трэба ўлічыць наступныя аспекты:
Кошт дадання новага функцыяналу, гэта не толькі затраты на напісанне кода. Цана таксама ўключае ў сябе перашкоды для далейшага пашырэння ... Трук у тым, што варта падбіраць функцыі, якія не канфліктуюць адзін з адным.
John Carmack
- вызначыцца з задачамі, якія павінна вырашаць будучая распрацоўка (скласці план не больш чым на 3 месяцы, бо задачы могуць змяніцца або састарэць);
- выбраць CMS, якая найбольш падыходзіць пад які распрацоўваецца праект (чым менш праграмісту прыйдзецца дапаўняць код ўваходзяць у пастаўку CMS кампанентаў, тым ніжэй будзе выніковая кошт);
- выбраць хостынг (чым бліжэй геаграфічнае размяшчэнне сервераў ад мэтавай аўдыторыі наведвальнікаў, тым хутчэй будуць загружацца старонкі сайта);
- абраць кампанію, якая выканала дастатковую колькасць складаных і эксклюзіўных праектаў на абранай Вамі платформе.
Спадзяюся, што гэты артыкул дапаможа Вам вызначыцца з выбарам і пазбавіць ад праблем, якія ўзнікаюць пасля здачы праекта.
Але ці з'яўляецца гэта на самай справе перавагай і як адбіваецца на якасці распрацоўкі?
Адсюль вынікае пытанне: колькі ж павінна загружацца старонка і які час браць за эталон?