Головна » Веб дизайн » Початок роботи з веб-розробкою Fullstack

    Початок роботи з веб-розробкою Fullstack

    У ці дні сучасні розробка повного стека користується великою популярністю як у невеликих агентствах, так і у великих компаніях із спеціальною технічною командою. Веб-інженери з повнофункціональним стеком працюють над цілим веб-стеком технологій в тому числі інтерфейс, сервер, і управління сервером.

    Багато людей стверджують, що повний стек призводить лише до того, що він є "джеком усіх торгів, майстром жодної". З певної точки зору це може бути правдою, однак навички навичок настільки важливі, як і те, що з нею можна досягти. Багато розробників повного стеку пропонують значення, оскільки вони можуть приймати ідею від зачаття до запуску, і повністю зрозуміти на кожному етапі процесу.

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

    Основні основи стека

    Сучасна розробка повного стека пройшла довгий шлях, оскільки веб-технології сильно змінилися. Повні вимоги до стека повинні використовуватися в якості керівних принципів для розгляду наступних. Взагалі кажучи, "стек" являє собою технології, які працюють в унісон зробити веб-сайт робочим. Це означає, що серверний код, серверний код, система баз даних і веб-серверна платформа + ОС для сервера.

    Основним принципом розробки повного стека є розуміння всіх аспектів побудови веб-сайту. Це не означає знання дизайну або роботи користувача 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, такі як анімація, але вони абсолютно не обов'язкові. Розробник повного стека повинен знати достатньо, щоб зробити роботу, і рухатися далі.

    Вибір мови Backend менше стосується технічних переваг, а більше - комфорту. Більшість програмістів це розуміють Python - це більш універсальна мова, ніж PHP, проте більшість веб-сайтів працюють на серверах PHP. Це робить PHP цінна мова більше компаній.

    Виберіть будь-яку мову, яка відповідає вашим потребам, або пропонує вам найбільші перспективи. Також майте на увазі, що ви не застрягли на одній мові назавжди. Якщо ви починаєте з Ruby, але перемикаєтеся на Python, ви не втратите нічого.

    Проте, я рекомендую, щоб після того, як ви знайшли потрібний мова, ви заглибилися в цю мову і підібрати відповідні рамки. PHP має Laravel, Ruby має Rails, а у Python є Django - серед багатьох інших варіантів. Ці рамки прискорять процес розробки та допоможуть вам правильно структурувати ваші програми.

    Бази даних і сервери

    Вибір механізму бази даних зводиться до вимог проекту та стека серверів. PHP часто працює з MySQL, так що це найбільш кращий вибір. The два найбільших веб-стека сьогодні є LAMP (Linux-Apache-MySQL-PHP) і ЗМІН (MongoDB-ExpressJS-AngularJS-Node.js).

    Більшість хостинг-компаній пропонують LAMP з самого початку без необхідності налаштування. Але індивідуальні рішення, такі як Digital Ocean, дозволяють працювати майже з будь-яким мастилом з ліктям. Ви можете знайти більше веб-стеків у цьому списку або здійснити пошук в Інтернеті.

    Ваша база вибору часто буде такою прив'язані до вашої базової мови. Python поставляється з підтримкою SQLite за замовчуванням, і РО Devs зазвичай можуть працювати з будь-якими елементами. І, чесно кажучи, будь-яка мова зазвичай може працювати з будь-якою базою даних.

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

    Окрім баз даних, ось деякі технічні теми на сервері, про які ви можете дізнатися.

    • CDN і контент-хостинг
    • Встановлення та оновлення програмного забезпечення сервера
    • Найкраще налаштування сервера для перегляду трафіку та часу завантаження
    • Рішення для кешування для запитів бази даних і файлової системи
    • Автоматизоване резервне копіювання баз даних і плоских файлів або резервного копіювання зображень на диску
    • Налаштування HTTPS з керуванням доменом (DNS-сервери, записи CNAME тощо)
    • Більш детальні теми, такі як електронна пошта, мікросервіси та балансування навантаження

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

    Єдине знання, яке вам дійсно потрібно, це все, що потрібно для створення порожнього серверного середовища, та встановлення програмного забезпечення, необхідного для запуску веб-сайту. Звідти все інше - це лише вдосконалення знань. Якщо у вас є питання або ви хочете дізнатися від професіоналів, перевірте спільноту Reddit / r / SysAdmin.

    Дорога вперед

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

    Веб-розробка - це постійно мінлива промисловість, тому ви завжди повинні бути готові дізнатися більше. Тестуйте різні стеки та мови, поки не знайдете те, що вам подобається. Але завжди будьте готові йти глибше і краще!

    Чи варто докладати всіх зусиль для розробки повного стека? Це для вас, щоб вирішити. Але ось деякі відповідні посади, які можуть допомогти вам зрозуміти це.

    • Про легітимність "повного стека" (heapsortjobs.com)
    • Отже, ви хочете стати повнофункціональним розробником (rubysteps.com)
    • 7 порад про те, як стати повноцінним розробником стека (usersnap.com)
    Попередня стаття
    Початок роботи з Boxee