Начална » Уеб дизайн » Първи стъпки с Full Stack Web Development

    Първи стъпки с Full Stack Web Development

    Тези дни са модерни пълно развитие на стека е много популярен както в малките агенции, така и в по-големите компании със специален технически екип. Инженерите на пълен стек работят върху цяла мрежа от технологии включително интерфейс, бекенд, и управление на сървъри.

    Много хора твърдят, че пълният стак води само до това да бъдеш "джак на всички сделки, майстор на нищо". От определена гледна точка това може да е вярно, но уменията са толкова важни, колкото и това, което може да бъде постигнато с него. Много от тях предлагат стойност, защото могат да вземат идея от зачеването до началото, и напълно разбирам всяка стъпка от процеса.

    Ако си мислиш за това преминаване на пълен маршрут на стека, тогава тази статия е за вас. Ще обясня общите изисквания на разработчика на пълен стак, каква е ролята и как уменията могат да бъдат полезни за фрийлансери / изпълнители, които искат да работят директно или за клиенти, или за собствени проекти.

    Основи на пълен стак

    Съвременното развитие на пълен стак е изминало дълъг път, тъй като уеб технологиите са се променили много. Изискванията за пълен стак трябва да се използват като насоки за разглеждане. Най-общо казано "стек" представлява технологията, която работи в унисон да направите уебсайт работа. Това означава интерфейсен код, бекенд код, система от бази данни и платформа за уеб сървър + ОС за сървъра.

    Основният принцип на пълното развитие на стека е да се разберат всички аспекти на изграждането на уебсайт. Това не означава познаване на дизайна или работата с UI / UX, въпреки че това може значително да подобри жизнеспособността и качеството на работа.

    • Основите на frontend включват HTML / CSS и JavaScript, най-вероятно с a рамка, като Angular или React.
    • За бекенд език ще искате да изберете нещо, което може да бъде съчетано със система от бази данни. PHP / MySQL е най-често срещаният и най-лесен за изучаване, защото той захранва много CMS двигатели като WordPress. Също така LAMP стека е безспорно най-популярният уеб стек днес.
    • Познанията на сървъра могат да бъдат толкова прости или подробни, колкото искате. Абсолютните основи биха били познаване на сървърна програма Apache заедно с база данни MySQL или PostgreSQL.
    • Можете да отидете още по-далеч, за да включите познания за инсталирането на пощенски сървъри или инструменти за производителност, като memcached или Varnish.

    Разработването на пълен стек трябва да се използва във всичките три области с достатъчно знания самостоятелно стартиране на уебсайт, и без много помощ от никой друг.

    Техническа дълбочина на знанието

    Голям въпрос за пълното развитие на стека е колко дълбоко трябва да отидеш във всяка област. Инженерът на пълен стак наистина ли е майстор на всичко? Някои твърдят, че е възможно, но това може да не е целта на пълния стак.

    Повечето компании искат да наемат инженери с пълен стак, които имат познания навсякъде. Тези инженери могат да се специализират в една област, но те могат да изпълнят всяка роля, когато е необходимо.

    Устройствата, които започват по този път, трябва играят наоколо във всички области, научавайки "достатъчно", за да решават проблемите, когато възникнат. Това дава интерпретация в реалния свят на технологиите, за да се види как различните проблеми се прилагат към реални проекти.

    Най-голямата полза от пълното кодиране на стека е възможността за изграждайте свои собствени приложения без да работи за никой друг.

    Ако научите всеки етап от процеса на развитие, можете да направите всичко сами. Не е нужно да сте майстор на PHP, за да създадете приложение по избор на Laravel. Не е нужно да сте JavaScript гуру, за да създадете гъвкава падаща навигация, особено сега, когато имаме толкова много отворен код, наличен в мрежата.

    Колко дълбоко трябва да отидете в някоя от тези области? Това зависи изцяло от вас и отговорът ви вероятно ще се промени с течение на времето.

    Но когато първо започна, просто отидете достатъчно дълбоко, за да приложите това, което сте научили в истински проект. Когато се натъкнете на нещо, което не разбирате, използвайте го като възможност да отидете по-дълбоко, и научете повече за тази конкретна тема.

    Избор на езици

    Това е малко загадка за новия разработчик да избере кои технологии да научат. Отстраняване на нуждите от пътя, HTML и CSS са абсолютно необходими. JavaScript също е необходимост, но не е нужно да се смятате за JS майстор. Трябва обаче да се интересувате да научите повече от обикновен JavaScript.

    Повечето разработчици учат и на jQuery, но рамки като React, Ember, Angular, Vue или Backbone предлагат по-опростен процес за изграждане на пълномащабни уеб приложения.

    Възможно е да се потопите още по-дълбоко фантазия JavaScript ефекти, като анимации, но те не са задължителни. Разработчикът на пълен стек трябва да знае достатъчно, за да свърши работата, и да продължи от там.

    Бекенд изборът на език е по-малко за техническо предимство и повече за комфорта. Повечето програмисти осъзнават това Python е по-гъвкав език от PHP, по-голямата част от уебсайтовете се изпълняват на PHP сървъри. Това прави PHP е ценен език повече компании.

    Изберете какъв език отговаря на вашите нужди, или ви предлага най-големите перспективи. Също така имайте предвид, че не си останал с един гръб език завинаги. Ако започнете с Ruby, но преминете към Python, не губите нищо в процеса.

    Въпреки това препоръчвам, след като веднъж откриете желания език, да се задълбочите с този език и вземете съответната рамка. PHP има Laravel, Ruby има Rails, а Python има Django - сред много други опции. Тези рамки ще ускорят процеса на разработване и ще ви помогнат да структурирате правилно вашите приложения.

    Бази данни и сървъри

    Изборът на механизъм за бази данни се свежда до изискванията на проекта и сървърния стек. PHP често работи с MySQL, така че това е най-предпочитаният избор. Най- две най-големи уеб стека днес са LAMP (Linux-Apache-MySQL-PHP) и ОЗНАЧАВА (MongoDB-ExpressJS-AngularJS-Node.js).

    Повечето хостинг компании предлагат LAMP от самото начало без необходимост от настройка. Но персонализирани решения като Digital Ocean ви позволяват да използвате почти всичко с малко грес за лакътя. Можете да намерите повече уеб стекове в този списък или чрез търсене онлайн.

    Вашата база данни често ще бъде свързан с езика на бекенда. Python идва с поддръжката на SQLite по подразбиране и RoR Разработчиците обикновено могат да работят с всичко. И честно казано, всеки език обикновено може да работи с всяка база данни.

    Но вие искате да изберете нещо, което е достатъчно често за използване в повечето уеб проекти. SQL е общ език и използва най-вече същия синтаксис във всички двигатели на базата данни. Ще откриете разлики в настройката и администрирането на таблиците, но те обикновено са незначителни.

    Освен базата данни, ето някои технически теми от сървъра, които бихте искали да научите.

    • CDN и хостинг за съдържание
    • Инсталиране и актуализиране на сървърния софтуер
    • Най-добри конфигурации на сървъри за увеличаване на трафика и времето за зареждане
    • Решения за кеширане както за заявки за бази данни, така и за съхранение на файлова система
    • Автоматизирано архивиране на бази данни и плоски файлове или архивиране на дискови изображения
    • Настройка на HTTPS с управление на домейни (DNS сървъри, CNAME записи и др.)
    • По-подробни теми, като електронна поща, микроуслуги и балансиране на натоварването

    Един от най-добрите начини за учене е бърникане със сървъри докато изграждате проекти. Вземете основен VPS и се опитайте да създадете свои собствени стакове. Тези VPS са пълни виртуални сървърни среди, където имате пълен контрол за конфигуриране (или унищожаване) на всичко. Освен това горният списък не е необходима пътна карта за всички разработчици на пълен стак.

    Единственото знание, от което се нуждаете, е каквото е необходимо, за да създадете празна сървърна среда и да инсталирате софтуера, необходим за стартиране на уебсайт. От там всичко друго е просто подобрено знание. Ако някога имате въпроси или искате да научите от професионалисти, проверете общността на Reddit / r / SysAdmin.

    Пътят напред

    Ако наистина искате да научите пълен стак развитие, направете списък на всички технологии, които искате да научите. От там можете да се справяте с тях един по един, като съставяте свои собствени проекти, за да изпробвате наученото.

    Уеб разработката е непрекъснато променяща се индустрия, така че винаги трябва да сте готови да научите повече. Тествайте различни стекове и езици, докато не намерите това, което ви харесва. Но винаги бъдете готови да отидете по-дълбоко и да се оправите!

    Пълното развитие на стека струва ли усилието? Това е за вас. Но ето някои свързани мнения, които могат да ви помогнат да разберете това.

    • За легитимността на "пълния стек" (Heapsortjobs.com)
    • Така че искате да станете пълноценен разработчик (Rubysteps.com)
    • 7 съвета за това как да станете пълноценен разработчик (Usersnap.com)
    Предишна статия
    Първи стъпки с Boxee