ithr-school

Языки и фреймворки

Фреймворки

остов, каркас, структура

Фреймворк

  • Библиотека на каком-то языке
  • Описывает как именно нужно строить проект
  • Содержит идею и большую часть необходимого
  • (мем у фронтендеров)

Мобильная разработка

iOS

  • Swift и objectiveC
  • Много гайдлайнов, строгие правила
  • Разработчиков не очень много
  • Нужен макбук

Android

  • Java и Kotlin
  • Правила нестрогие
  • Разработчиков больше
  • Большая неконсистентность устройств

Межплатформы

  • C# (Xamarin), JS (React Native)
  • Любой фронтендер справится
  • Много проблем если большое приложение
 

Флоу

  • Бекенд и дизайн
  • Вёрстка и логика
  • Тестирование и проверка
  • Подготовка релиза
  • Релиз в магазин

Низкоуровневая разработка

C/C++

  • Игры, драйверы, системы, вирусы
  • Сложный язык, разработчики часто бородатые
  • Много легаси и устаревших стандартов
  • Языки медленно развиваются

Rust

  • Основной конкурент C++
  • Быстрый
  • Молодой
  • Развивается, и ещё не смог захватить рынок

Assembler

  • Целая серия языков
  • Ну вы видели
  • Вирусы, совсем низкоуровневые системы, взлом чужих программ
  • Знание даёт супер-силу

Флоу

  • Разработка
  • Тестирование и проверка
  • Упаковка / Доставка

Web Backend

PHP

  • Только бекенд
  • Интерпретируемый
  • Много легаси (WP)
  • Половина интернета на нём
  • Есть мощные фреймворки, которыми все пользуются

Laravel (PHP)

  • Имеет удобные инструменты для всего
  • Упрощает разработку
  • Можно быстро сделать полноценное приложение

Symfony (PHP)

  • Старичок
  • Похож на Laravel

Yii (PHP)

  • Yes, It Is!
  • Большой конкурент для Laravel
  • Быстро работает с базой данных
  • Кастомизируем

CodeIgniter (PHP)

  • Очень маленький фреймворк
  • Есть удобная плагин-система
  • Удобен для новичков, хорошая документация
  • Быстр

C#

  • Поддерживается Microsoft
  • Используется в веб и в десктопной разработке
  • Компилируемый, довольно быстрый

.NET Framework (C#)

  • Не совсем фреймворк
  • Есть .NET Core для веб-разработки
  • Есть ASP.NET для веб-разработки
  • Даёт быструю разработку со всеми преимуществами типизации

Java

  • Королева заказной разработки
  • Не JavaScript (JS) (вообще)
  • Компилируемый
  • Десктопная разработка, Веб-разработка, Мобильная разработка

Spring (Java)

  • Старичок
  • Самый популярный
  • Небольшой, но расширяемый

JavaServer Faces (J)

  • Не бекенд, а весь стек
  • Понемногу вымирает

Python

  • Прекрасный язык
  • Интерпретируемый, относительно медленный
  • Быстрая разработка
  • Есть Python 2 и Python 3

Django (Python)

  • Самый популярный
  • Есть всё что нужно из коробки
  • То что не нужно, можно поставить
  • Большое комьюнити

Flask (Python)

  • Маленький
  • Из коробки самый минимум
  • Сборки разные в разных компаниях
  • Часто используется для микро-сервисов

aiohttp (Python)

  • Работает асинхронно
  • Немного быстрее чем Django и Flask

Ruby

  • Красивый язык
  • Интерпретируемый
  • Был модным

Ruby on Rails (Ruby)

  • Похож на Django (Python)
  • Мощная кастомизация
  • Можно очень быстро сделать прототип
  • Из-за него Ruby стал модным

JavaScript, JS

  • Интерпретируемый, плохой дизайн
  • Только он может работать в браузере
  • Его притащили и на бекенд

Node JS, Express.js

  • Платформа и фреймворк
  • Асинхронный
  • Выбор фронтенд-разработчиков, которые не хотят учить новый язык

Go, GoLang

  • Молодой
  • Очень быстрый
  • Асинхронный
  • Очень "простой"

Web Frontend

HTML/CSS

  • То, что будет отображено браузером
  • HTML — блоки
  • CSS — стили
  • Весь фронтенд построен на динамичном изменении HTML/CSS и взаимодействии пользователя

JS

  • Он один на фронтенде
  • Много ругают
  • Очень популярен
  • Можно писать не только фронтенд, но и бекенд, и даже мобилки

TypeScript

  • Почти JS, но типизированный
  • Избавлен от многих проблем JS
  • С помощью волшебства превращается в JS

JQuery

  • Не фреймворк, но мощная библиотека
  • Вымирает
  • Был популярен до прихода React / Vue / Angular

React (JS)

  • Самый популярный
  • Компонентая разработка
  • Его любят и ругают
  • Развивается
  • Есть React Native для мобильной разработки

Angular (JS)

  • Появился до React
  • Можно делать очень большое веб-приложение и не умереть
  • Есть несколько версий, новые называются Angular, старая называется Angular.js

Vue.js (JS)

  • Самый новенький
  • Самый дружелюбный к новичкам
  • Его любят, ругают за дело
  • Год назад вакансий было 10, сегодня 25

Backbone, Svetle, Ember

умирают или не рождаются 

Игры

Низкоуровневое

  • C++/Rust/C
  • Разработка движков для игр
  • Работа с графикой, физикой и звуком

Высокоуровневое

  • Разработка поверх существующих движков
  • Скриптование сцен, выстраивание сюжета, логики игры
  • C#, JS, Lua, Python, ...
  • Игры в браузере

Unity (C#)

  • Движок-фреймворк для игр на C#
  • Большое комьюнити
  • Подходит для прототипирования игр и небольших игр

Математика

Pandas, Numpy (Python)

  • Библиотеки для работы с большими данными
  • Быстрые
  • Их любят все

Haskell

  • МАТЕМАТИЧЕСКИЙ ЯЗЫК
  • Строго функциональный: теория лямбда-исчислениия, теория типов, ...
  • Обработка данных, где очень важно не падать

R

  • Специальный язык для работы с данными и статистикой
  • Популярен в научной среде
  • Всё в коробке
  • Иногда используется в продуктовой среде

Matlab

  • Старичок
  • Популярен в научной среде
  • Умирает

Coq

  • МАТЕМАТИЧЕСКИЙ ЯЗЫК
  • Можно доказывать теоремы
Made with Slides.com