Термины Transpile и Compile связаны с преобразованием языка программирования из одной формы в другую, но с разницей в уровне абстракции и типе конечного результата. В этой статье мы обсудим обе терминологии более подробно.
Компилятор
Он переводит исходный код с языка более высокого уровня на язык более низкого уровня. Компиляторы преобразуют код с одного языка на другой, но оба языка сильно различаются по уровню абстракции.
Пример:
"Developer code"
->"Machine code"
PHP
->C
Java
->bytecode
Транспилятор
Это тип компилятора, который транслирует исходные коды на одном уровне абстракции. Означает, что перевод выполняется с того же уровня кода на другой тот же уровень кода (например, с языка высокого уровня на язык высокого уровня и т. д.).
Пример:
"Developer code"
->"Another developer code or version"
JavaScript ES2015+
->JavaScript ES5
Также известны как компиляторы исходного кода. Прекрасным примером этого являются версии JavaScript ES5 и ES6+. ES5 — это более старая версия JavaScript, которая поддерживается почти всеми браузерами, в то время как некоторые функции версии JavaScript ES6+ поддерживаются не всеми браузерами.
Babel — это транспилятор, который при необходимости преобразует более новую версию JavaScript в любую совместимую версию JavaScript. Раньше при создании веб-сайтов нам приходилось заботиться о проблемах совместимости, но теперь с современными технологиями, такими как ReactJS, нам не нужно думать о проблемах совместимости, поскольку в них встроен Babel.