j
john_smith19 марта 2017 г. 1:14

Технологии для front-end и back-end

front-end, back-end, web

Варианты, что лучше

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

2
j
  • 19 марта 2017 г. 1:19

Какой минимальный стек технологий для front-end и back-end необходимо иметь новичку для современной веб-разработки, чтобы иметь возможность устроиться на работу в веб-студию или IT-компанию? С front-end ясно, что JavaScript, но интересуют библиотеки, инструменты и т. д. С back-end всё сложнее, что лучше и проще изучать с нуля? PHP, Python, Ruby, Perl, node.js, ... ?

    Evgenii Legotckoi
    • 19 марта 2017 г. 14:51
    • Ответ был помечен как решение.

    Front-end : jQuery, шаблонизаторы, например, AngularJs, думаю, что имеет смысл поизучать Bootstrap3. Современный HTML5. Если отталкиваться от данного сайта, то кроме jQuery и некоторых библиотек, например, PrettyPrint я не использую. Хотя возможно имеет смысл применять AngularJs, но на данный момент нет необходимости. С jQuery обязательно нужно познакомиться, например, я использую Ajax запросы из JQuery. Он используется повсеместно, а что-то более специфичное всегда можно будет успеть подучить.

    Back-end : Многие советуют PHP, поскольку порог вхождения низкий. На самом деле Python тоже довольно лёгок в освоении, а если учесть, что его можно применять для разработки Desktop -приложений, то можно убить сразу двух зайцев. Конечно, сейчас и PHP умудряются в тот же Android запихать, но это больше похоже на извращение. Считаю, что необходимо использовать инструменты в соответствии с той областью задач, которые эти инструменты решают. Для PHP наиболее известный фреймворк - это Yii.

    Ruby такой же скриптовый язык программирования, что и Python. Разве что фреймворков для WEB у него поменьше, чем у Python. В принципе есть один, который стоит использовать - это Ruby on Rails . Для Python - то Django , Pyramid и ещё кое-какие (здесь выбор больше). В Ruby достаточно синтаксического сахара, но и Python тоже хорош.

    Про Perl вообще ничего сказать не могу.

    На Node.js можно и бэкенд и фронтенд пилить. Также на нём разворачивают многонодовые высоконагруженные сайты.

    При поддержке сайта можете столкнуться с необходимостью работы с таким софтом как Nginx, Apache, Gunicorn и т.д. Но это больше относится к администрированию, и специально изучать смысла нет. В процессе работы проще изучать будет.

    Могу посоветовать только начать писать какой-нибудь сайт и уже по мере внедрения определённого функционала будет видно, что нужно изучать. Поэтому для начала сделать выбор по языку программирования:

    1. PHP - самый низкий порог вхождения, много документации (в том числе и на русском языке)
    2. Python - Тоже легко изучается, есть несколько очень хороших сайтов
    3. Ruby - С этим языком будет сложнее, чем с другими, да и русскоязычной документации мало
    4. JavaScript - В любом случае нужно изучать, можно будет и бэкенде использовать (если Node.js будете использовать)

    Ну и выбор фреймворка. Я их выше перечислял. Лучше, чтобы была идея сайта и небольшой маленький проект, который висел бы в Интернете. Тогда будет проще. Будете его дорабатывать, тогда и наберётесь опыта. Будет понимание нужных технологий, возможно перепрофилируетесь в более удобную область (Язык, фреймворк и т.д.).

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь
      Ua

      Qt - Тест 001. Сигналы и слоты

      • Результат:84баллов,
      • Очки рейтинга4
      Ua

      Qt - Тест 001. Сигналы и слоты

      • Результат:42баллов,
      • Очки рейтинга-8
      ОК

      Qt - Тест 001. Сигналы и слоты

      • Результат:47баллов,
      • Очки рейтинга-6
      Последние комментарии
      ИМ
      Игорь Максимов22 ноября 2024 г. 21:51
      Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
      Evgenii Legotckoi
      Evgenii Legotckoi31 октября 2024 г. 23:37
      Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
      A
      ALO1ZE19 октября 2024 г. 17:19
      Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
      ИМ
      Игорь Максимов5 октября 2024 г. 16:51
      Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
      d
      dblas55 июля 2024 г. 20:02
      QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
      Сейчас обсуждают на форуме
      f
      firstlunoxod15 февраля 2025 г. 13:46
      Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
      Дмитрий
      Дмитрий3 февраля 2025 г. 16:24
      Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
      NW
      Nayo Wai30 января 2025 г. 19:22
      не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
      n
      nkly3 января 2025 г. 12:52
      Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
      M
      Marsel17 августа 2023 г. 0:26
      OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

      Следите за нами в социальных сетях