-
Notifications
You must be signed in to change notification settings - Fork 12
IDEA
Intellij IDEA - самая мощная в мире Kotlin-IDE, сильно сокращающая время на написание кода. В этой статье будут рассказаны некоторые фишки и инструменты, которые позволяют работать с кодом и решать проблемы более эффективно, чем web-IDE JAICP.
Код, который мы пишем в JAICP DSL, не компилируется напрямую. При деплое .sc файла он парсится в блоки, после чего блоки преобразуются в интерпретируемые javascript-выражения. Этот javascript-код выполняется в JAVA-машине.
Это приводит к большому числу сложностей:
- Как написать интерфейс, который будет подсказывать пользователям, что можно сделать в этом языке?
- Как правило сообщить пользователю об ошибке в его коде, если ошибку мы узнаем только в момент, когда из исходного кода получится javascript-месиво?
- Как позволить пользователю отлаживать свое приложение, если пользователь никогда не видит реальный код?
Все эти проблемы решаемы в какой-то мере. Редактор в JAICP быстро развивается, но, тем не менее, решение всех этих задач требует больших усилий.
JAICF не зря написан на Kotlin
. В нем есть две основные фичи, позволяющие решить все вышеописанные проблемы:
- Статическая типизация
- Типизированный контекст lambda-выражений.
Звучит сложно. Но давайте посмотрим на каком-нибудь примере:
- Точки расширения фреймворка
- Кастомизация DSL
- Сценарные сервисы JAICP
- Встраивание JAICF-модуля в существующего бота
- Логирование и мониторинг ошибок
- JAICF Community Process
- NLU FAQ
- Channels FAQ
- Persistance FAQ