Хей, имам нещо специално за теб!
Попълни имейл адрес, на който до минута ще получиш обещаното ;)
За да разработваш WordPress професионално и да създаваш теми и плъгини – то ти е необходим правилният софтуер. От любимия ти code editor, през компилатор на скриптове и стилове, до локален сървър.
Тъкмо за избор и настройване на локален сървър са следващите редове. Stay tuned 😉
Преди да започнем, ето и няколко думи по повод какво точно представлява локалният сървър, как работи и защо изобщо е необходимо да разполагаме с такъв.
Локалният сървър ни позволява да разработваме теми, плъгини и като цяло – уеб сайт в сигурна среда, без необходимост от интернет връзка и с ограничен достъп. Може да разглеждаме локалната инсталация като staging такава. До не много отдавна популярни решения за създаване на локален сървър бяха WAMP, XAMPP, MAMP и д . Към днешна дата, обаче, има далеч по-съвременни и по-богати на функционалности решения. ?
След като вече знаеш какво представлява локалният сървър, време е да разгледаме и няколко случая, в които е уместно да използваш такъв.
WordPress апликация, изградена на локален сървър е перфектното решение, когато говорим за разработване на теми или плъгини. Тук имаш сигурността да работиш необезпокоявано и най-вече – без риск да засегнеш production сайта (в случай, че има такъв). Също така имаш възможността да експериментираш бързо и ефективно (без да се налага да непрестанно да качваш файлове през FTP клиент на сървъра). Излишно е да споменавам, че диагностиката и отстраняването на бъгове е многократно по-бързо.
Разработването на нов WordPress уеб сайт на локален сървър прави процесите по-бързи и по-ефективни. По този начин имаш възможност да тестваш плъгини, теми и функции, без да се притесняваш от фатални грешки, които са необратими.
Всички знаем, че имплементирането на нов код или редактирането на съществуващ такъв директно на продукционна среда е сравнимо със скачане от мост ?. Затова и тук силно препоръчвам използването минимум на staging среда, а още по-добре – на локална разработка преди това.
Вече знаейки какво представлява локалният сървър и за какво се изполва, нека разгледаме и двете решения, след което ще направим подробно сравнение.
Съвсем набързо – Local by Flywheel е революционен софтуер за локална разработка на WordPress, който значително изпъква пред конкурентните решения. Познат в миналото като Pressmatic, Local впечатлява с множество функционалности съвсем БЕЗПЛАТНО ?. Да, правилно, софтуерът е изцяло безплатен и достъпен за всички операционни системи.
За да добиеш по-ясна представа за всички features, които Local предлага (отново, безплатно), ще ги разбия на няколко подточки.
Само с един клик (наистина) избираш с какъв сървър да се сдобиеш – NGINX или Apache. Така, освен да пресъздадеш продукционната среда, на която после ще живее сайта, можеш и да тестваш между различните среди. Освен това, също толкова лесно може да сменяш PHP версията, под която работи апликацията ти. Local поддържа и по-стари PHP версии, като например 5.6.39, както и последната такава – 8.0.0. Имай предвид, че самият екипът, работещ над WordPress core все още отстранява някои бъгове, свързани с последната PHP версия.
XDEBUG и PHPStorm са добавени като add ons, като за да ги използваш, трябва първо да ги активираш.
От user interface-a, през разнообразните features и интуитивността на админ изгледа, Local те улеснява във всяко отношение и най-вече – в създаването на нов проект (сайт). Ако при например WAMP трябва да свалиш желаната WordPress версия от wordpress.org, да създадеш база данни през phpMyAdmin и да конфигурираш всичко от стъпка първа, то с Local имаш чисто нова WP апликация само за няколко секунди.
През екрана за първоначални настройки можеш да избереш версията на WordPress, на каква PHP версия да стъпи, дали е multisite (да, Local поддържа и WordPress multisite) и още.
Може ли да разработваш локално с Local без сайта да е WordPress?
Ако си си задал този въпрос, то отговорът е – да, можеш. Всичко, което трябва да направиш е да минеш през стандартния процес за създаване на WordPress уеб сайт, след което да влезеш в папката на сайта и да изтриеш всички файлове, свързани с CMS-a, както и всички таблици, отново свързани с WordPress от базата данни.
Един от най-яките (според мен) feature-и на Local е възможността да споделяш Live LInks към проекта си. Тоест – имаш локален сървър, от който обаче може да споделяш линкове и хора, които не са на твоята машина могат да виждат апликацията.
За да използваш Live Links, трябва да имаш създаден акаунт в Local. След като го направиш, ще видиш опцията Live Link и enable.
Live Links са наскоро ъпдейтнати като функционалност и вече предлагат:
mysite.localsite.io
. Всеки линк се отнася до един Local сайт. От настройките можеш да редактираш линкът, както и данните за достъп до него (парола и потребителско име). Имаш опция и да затвориш тунела (да прекъснеш връзката).Local създава тунел под ngrok, което ти позволява както да изпращаш Live Links, така и да зареждаш и тестваш сайта си под HTTPS. Това е от изключителна важност, в случай, че искаш по време на разработка да тестваш различни интеграции, като например Stripe, PayPal, REST APIs.
Неминуемо ще се нуждаеш и от тестване на имейл изпращане от уеб сайта, над който работиш. Тук от Local са помислили да интегрират Mailcatcher, който прихваща изходящите мейли от PHP sendmail и ги запазва в пощенска кутия за преглед и дебъгване.
Една от най-големите благинки (според мен) на Local е, че ти позволява да имаш т.нар. Blueprints. Какво представляват Blueprints? Представи си, че всеки път (или често), когато започваш нов WordPress сайт стартираш с определени теми, плъгини и като цяло – setup. Е, с Blueprints може да създадеш нещо като темплейт, който да преизползваш. Всичко, което трябва да направиш, е да избереш даден сайт, който ще ти служи за Blueprint и с десен клик на мишката да го запазиш като такъв, след което в таб Blueprints ще имаш достъ до него и конфигурацията му.
Освен създаването на темплейтни стартери, Local ти позволява и да експортваш и импортваш сайт с буквално 2 клика. Това е полезно в случай, че искаш да направиш копие например на сайт, който ще доработваш, но желаеш да запазиш първоначалните му настройки. Полезно е и ако да речем искаш да дадеш .zip с файловата структува и бази данни на друг разработчик.
Local ти дава възможност да deploy-неш локален сайт към продукционна среда (уеб сървър) отново с няколко клика. Важно е тук да отбележа, че към момента на писане на тази статия възможните хостинг доставчици, към които може да се осъществи връзка са WPEngine и Flywheel (компанията зад Local).
Неотдавна хостинг компанията Kinsta предложи собствено решение за локален сървър – DevKinsta. Много сходен до Local, този софтуер идва с някои предимства, но също и недостатъци спрямо вече утвърдения си конкурент. Нека разгледаме по-подробно какво представлява и как се работи с него.
Това, с което DevKinsta се отличава най-много от конкурентните софтуер решения е интеграцията с Docker – платформа за разработване на софтуер, която на практика „складира“ средата, в която разработваме в контейнер. Например, ако проектът, който разработваш работи под Node.js версия 14.x и PHP версия 7.4, цялата тази информация се запазва в Docker контейнера и при работа на друг разработчик не е необходимо той да настройва средата си и да сваля различните версии, от които зависи апликацията.
Точно по този начин DevKinsta създава нов Docker контейнер за всеки един от WordPress сайтовете, които разработваш.
Още с инсталационния процес на DevKinsta ще се наложи да инсталираш и Docker десктоп приложението (ако го нямаш на машината си).
Всъщност това заглавие е малко подвеждащо 😀 DevKinsta създава всеки нов уеб сайт под NGINX по подразбиране. Също така, в настройките на сайта, след като е създаден, няма опция за промяна на уеб сървър.
Създаден като fork на MySQL и то от създателя на mySQL, MariaBD е тип релационна база данни. Препочитан избор що се отнася до performance и бързина спрямо MySQL. С DevKinsta всеки WordPress създава 12-те си таблици в MariaDB база данни.
DevKinsta също предлага зареждане на сайтовете под HTTPS, коеtо, както споменах по-горе, е от особена важност, когато искаш да тестваш third-party software интеграции. И тук имаш възможност да тестваш имейли.
Local by Flywheel | DevKinsta | |
Docker containers | не | да |
Live Links | да | не |
DB Manager | Adminer | Adminer |
WP_DEBUG | да, има и extension | да, с toggle |
HTTPS | да | да |
Deployment | към WP Engine и Flywheel | към Kinsta |
WP Multisite | да | да |
Local email | да | да |
PHP support | 5.6 – 8 | 7.2 – 8.2 |
Server type | NGINX, Apache | NGINX |
Blueprints | да | не |
В края на тази дълга и обстоятелствена статия и след безброй часове прекарани в тестване (особено с Local, тъй като работя с него от години), мога да заявя следното:
DevKinsta е страхотен инструмент, иновативен, вземайки предвид Docker контейнерите, както и бъдещите функционалности, които Kinsta екипът предвижда. Има потенциал и със сигурност много разработчици вече му симпатизират и използват.
Безспорно е обаче предимството на Local. Екипит на FlyWheel работи от години над софтуера и всички негови функционалности. Fun fact – докато пиша тази статия се появи и нов feature – клъстаризиране (групиране) на уеб сайтовете в Local.
С това изчерпвам темата по повод избор на суфтуер за локална разработка. Надявам се инормацията да ти е била полезна и вече да вдигаш WordPress (и не само) сайтове за под една минута.
Stay blond 😉
Привет,
С Local by Flywheel как мога да се свържа с споделена база данни за да мога да разработвам с приятел?