www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

 Читать далее...

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

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

 Читать далее...

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

 Читать далее...

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 13733
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 13846
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 11306
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 6023
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6871
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6762
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 9581
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 6192
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 6400
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 10569
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 14082
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 15484
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 17900
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 12733
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 10740
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 8958
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 7492
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 6295
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5912
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 6238
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 TypeScript для PHP-разработчика. Как писать на JavaScript большие приложения и не сойти с ума

Архив номеров / 2015 / Выпуск №7-8 (152-153) / TypeScript для PHP-разработчика. Как писать на JavaScript большие приложения и не сойти с ума

Рубрика: Разработка /  Принципы программирования

Александр Майоров АЛЕКСАНДР МАЙОРОВ, Tutu.ru, руководитель отдела Frontend-разработки, alexander@majorov.su

TypeScript для PHP-разработчика

Рекомендации для PHP-разработчиков, нуждающихся в разработке больших сложных веб-приложений на клиентской стороне. Почему TypeScript может оказаться отличным выбором?

Когда-то JavaScript был маленьким. И его воспринимали как язык для маленьких... Для маленьких задач. От него требовалось совсем не много. Что-то показать или скрыть, анимировать котиков. По мере развития технологий и распространения интернета, по мере развития браузеров и их возможностей также развивался и браузерный язык – JavaScript. В какой-то момент возможности браузера стали позволять реализовывать сложную логику приложения на клиентской стороне. И заказчики стали хотеть больше. А фронтендеры и не сопротивлялись. Сами того не замечая, они все больше и больше перетягивали логики с бэкенда на фронтенд.

Однажды фронтендеры проснулись и осознали, что их код стал настолько сложным и большим, что поддерживать его уже нелегко. Поддерживать сложные веб-приложения, написанные на JavaScript, все труднее и труднее. При этом сам язык обладает рядом недостатков (хотя есть и много достоинств), из-за которых очень сложно отслеживать утечки памяти, какие-то ошибки…

Ко всему прочему в мир фронтенда стали подтягиваться разработчики из других областей, ранее писавшие на других языках программирования. Каждый нес в мир JavaScript свои знания. Кто-то нес функциональный подход и говорил, что он самый правильный, кто-то утверждал, что классическая школа объектно-ориентированного программирования лучше. Прелесть языка JavaScript в том, что он позволяет не просто писать, используя эти подходы, но даже смешивать их.

Появилось очень много различных фреймворков и библиотек. Фронтенд-мир, наверное, единственный, в котором появилось такое большое количество различных библиотек, подходов и инструментов. При этом фреймворки пытались устранить какие-то недостатки языка. Но устранить их все на уровне фреймворков невозможно. Стали появляться различные инструменты, позволяющие писать не на JavaScript, а на чем-то другом и все это компилировать в наш родной JS.

Список всевозможных трансляторов и диалектов можно найти на странице [1]. Там вы увидите более 340 различных языков программирования, которые компилируются именно в JavaScript. Среди них можно отметить следующие:

  • CoffeeScript семейство – 12 диалектов.
  • CoffeeScript идеологически совместимые – 25 вариантов.
  • 16 вариантов статически типизированных: TypeScript, Dart, Typecast.js, AtScript...
  • Существующие языки. Компилируемые в JS: PHP, Java, Ruby, Python, Erlang, Perl, Lua, Scala, C#, F#, Lisp, Scheme, OCaml, Haskell, Smalltalk, C/C++, Go...

Лучше всех популяризировать «Не JavaScript» получилось у Ruby-разработчиков. Они смогли показать всему миру, что можно писать фронтенд, вообще не написав ни строчки кода на JS, благодаря CoffeeScript. Он стал революционным для своего времени. И у него есть много интересных достоинств. Но все же CoffeeScript не является языком JavaScript, уж простите. Это другой язык, со своими нюансами и проблемами при отладке.

Когда на CoffeeScript пишут Ruby-разработчики, то это нормально. Для них это родной язык, можно сказать. Но когда на «кофе» пытаются писать PHP-разработчики, к примеру, или C#, Java-разработчики, то это должно вызывать больше вопросов, чем понимания. Зачем еще одни язык, когда можно использовать существующие знания и писать на чем-то, что более близко как синтаксически, так и идеологически?

Моя мысль, подтвержденная реальным применением на боевых проектах нашей компании, такова: TypeScript для PHP-разработчика такой же родной язык, как CoffeeScript для Ruby-программиста. А следовательно, если хотите разрабатывать сложные приложения на JavaScript, вы просто должны писать их на TypeScript. И далее мы будем рассматривать, почему стоит писать именно на TS.

Статью целиком читайте в журнале «Системный администратор», №7-8 за 2015 г. на страницах 95-99.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Список трансляторов и диалектов – http://goo.gl/EAabNP.
  2. Исходные тексты TypeScript – https://github.com/Microsoft/TypeScript.
  3. Онлайн-версия компилятора для демонстрации возможностей – http://www.typescriptlang.org/Playground.
  4. Официальный сайт Hack – http://hacklang.org.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru