JavaScript와 카카오톡봇
들어가기 전에 JavaScript와 카카오톡봇에 대해 알아봅니다. 무엇이든지 공부하고자 하는 것에 대해 아는 것은 가장 기본이 됩니다.
JavaScript
JavaScript는 프론트엔드, 서버 등 다양한 분야에서 사용되는 프로그래밍 언어로, 다양한 런타임, 엔진이 존재합니다. 카카오톡봇 개발에 사용할 JavaScript 엔진은 Java로 구현된 JavaScript 엔진인 Rhino와 GraalJS입니다.
Rhino 엔진은 채팅 자동응답 봇, StarLight 그리고 메신저봇R 0.7.40-alpha.02 이하 버전에서 사용되며, 최신 JavaScript의 feature를 완전히 지원하지 않습니다. 하지만 Java의 클래스를 객체로써 사용할 수 있습니다.
GraalJS는 메신저봇R 0.7.40-alpha.03 이상 버전에서 사용됩니다. GraalJS는 Rhino 엔진보다 최신 JavaScript의 feature를 더 적극적으로 지원하며, 개선된 성능을 보입니다. Rhino 엔진과 마찬가지로 Java의 클래스를 사용할 수 있습니다. 기초 자습서에서는 Java 클래스를 다루는 내용을 포함하지 않지만, 카카오톡봇 개발에 유용할 수 있습니다.
정보
많은 사람들이 Java를 "JavaScript"의 줄임말로 알고 있지만 이는 잘못된 정보입니다. Java는 JavaScript와 별개인 또하나의 프로그래밍 언어의 이름이며, 많이 사용되는 JavaScript의 줄임말은 "JS"입니다.
정보
Rhino 엔진과 GraalJS는 구현 방식 등에서 많은 차이가 있지만, 기초적인 JavaScript 언어의 문법 및 feature의 구현은 거의 동일합니다. 두 엔진 간의 유의할 만한 차이가 있을 경우 문서에서 이를 기술할 예정입니다.
카카오톡봇
카카오톡봇은 카카오톡 상단바 알림을 읽고 자동으로 응답하는 자동응답 봇입니다. 카카오톡봇을 개발하고 작동시키기 위한 앱으로는 메신저봇R, 채팅 자동응답 봇, StarLight 등이 있습니다.
주의
카카오톡봇을 작동하기 위해서는 구동 기기의 운영체제가 Android여야 하며, 5.0 이상 버전이여야 합니다.