Skip to content
Vladislav Metelyagin edited this page Sep 9, 2021 · 3 revisions

Intellij IDEA - самая мощная в мире Kotlin-IDE, сильно сокращающая время на написание кода. В этой статье будут рассказаны некоторые фишки и инструменты, которые позволяют работать с кодом и решать проблемы более эффективно, чем web-IDE JAICP.

Почему мы пишем код в Intellij IDEA, а не в редакторе в админке?

Код, который мы пишем в JAICP DSL, не компилируется напрямую. При деплое .sc файла он парсится в блоки, после чего блоки преобразуются в интерпретируемые javascript-выражения. Этот javascript-код выполняется в JAVA-машине.

Это приводит к большому числу сложностей:

  1. Как написать интерфейс, который будет подсказывать пользователям, что можно сделать в этом языке?
  2. Как правило сообщить пользователю об ошибке в его коде, если ошибку мы узнаем только в момент, когда из исходного кода получится javascript-месиво?
  3. Как позволить пользователю отлаживать свое приложение, если пользователь никогда не видит реальный код?

Все эти проблемы решаемы в какой-то мере. Редактор в JAICP быстро развивается, но, тем не менее, решение всех этих задач требует больших усилий.

Как решаются эти проблемы в JAICF с помощью Intellij IDEA:

JAICF не зря написан на Kotlin. В нем есть две основные фичи, позволяющие решить все вышеописанные проблемы:

  1. Статическая типизация
  2. Типизированный контекст lambda-выражений.

Звучит сложно. Но давайте посмотрим на каком-нибудь примере:

Autocomplete

Refactoring

Debugging

JAICF Plugin

Introduction

Development Basics - NLU

Development Basics

Development Deep

  • Точки расширения фреймворка
  • Кастомизация DSL
  • Сценарные сервисы JAICP

Интеграция с JAICP

  • Встраивание JAICF-модуля в существующего бота

Release

  • Логирование и мониторинг ошибок
  • JAICF Community Process

FAQ

  • NLU FAQ
  • Channels FAQ
  • Persistance FAQ
Clone this wiki locally