Slack 앱을 처음 개발하는 사람이든, 경험이 풍부한 베테랑이든 Bolt를 사용하면 빠르게 개발을 시작할 수 있습니다. Bolt는 Slack에서 개발한 서버 측 프레임워크이며 표준화된 높은 수준의 인터페이스를 제공해 공식 지원되는 프로그래밍 언어 중 하나를 사용하여 Slack 앱을 더욱 빠르고 간단하게 개발할 수 있도록 도와줍니다. 지원 언어는 Javascript, Python과 Java입니다.
Bolt는 유연하게 설계된 프레임워크이며 사용자가 코딩하는 방식에 맞출 수 있습니다. 하지만 이 도구를 처음 사용한다면 앱을 구축할 탄탄한 기반을 만들기 위해 어떤 코드 구조를 사용해야 할지 고민될 수 있습니다.
Tasks 앱 소개
이 질문에 답해 줄 새로운 샘플 코드를 소개합니다. 특정 기능을 위한 코드 조각만이 아니라 코드를 모두 조합했을 때 코드베이스 전체가 어떨지 보여 주는 샘플이죠. 바로 새로운 샘플 Tasks 앱입니다.
Tasks 앱은 독단적이며 특정한 폴더 구조를 가지고 있고, 문제를 고립시키기 위해 특정한 접근법을 사용합니다. 이 구조에서 저희의 목표는 테스트 가능한 앱을 구축하는 것에 특별히 초점을 맞추어 가독성을 강조하고 일관성 있는 패턴을 구축하도록 도와드리는 것입니다. NodeJS로 시작하지만 마찬가지로 독단적인 Python 및 Java 버전을 곧 추가할 계획입니다.
이를 위해 많은 것을 고려했지만 여러분의 의견을 듣고 싶습니다. 여러분께 다음과 같은 사항을 권장합니다.
- Tasks 앱 개발에 기여
- 자신의 접근 방법이 더 합리적이라고 생각되는 경우 기존 방법에 대해 문제 제기 및 끌어오기 요청(pull request)
- 아직 다뤄지지 않은 문제에 대해 무엇이든 질문하고 Slack 앱 개발을 더 쉽게 만들어 주는 유용한 라이브러리를 제공할 기회가 있을 경우 이를 강조
Node에서 Tasks 앱은 이미 대부분의 주요 기능이 지원되며 여기에는 단축키, 모달, 앱 홈 등이 포함됩니다. 하지만 Tasks 앱은 Slack 중심의 할 일 리스트 앱의 맥락에서 합리적인 기능을 추가하는 실용적인 방식으로 기능을 지원합니다. Slack이 플랫폼에 새 기능을 추가하면 동일한 기능이 Tasks 앱에도 추가되어 사용자는 끊임없이 진화하는 참조 실행에 액세스하여 Slack이 해당 기능의 모범 사례로 생각하는 것들을 확인할 수 있습니다.
Tasks 앱을 위한 향후 계획
Tasks 앱은 그 기능의 깊이나 다양성 면에서 Jira Cloud, Asana 또는 Workstreams에 비견될 수는 없지만 간단한 할 일 리스트 앱을 위해 충분한 기능을 제공합니다. 기능을 추가할 때에는 시연할 특정 API 기능이 있는지가 아니라 맥락 상 해당 기능이 얼마나 유용한지에 중점을 두므로 API의 모든 기능을 활용하지는 않습니다. 하지만 이 역시 여정의 일부이며 저희가 Slack 플랫폼을 현실적으로 사용하는 방법을 시연하고자 하는 방식이라는 점을 알아 주세요.
GitHub에서 허가된 오픈 소스 라이선스로 코드베이스를 받을 수 있으며 YouTube 채널에 2주마다 코드베이스의 부분에 대한 안내 동영상을 올려 Slack이 특정 선택을 하게 된 이유와 API의 기능을 앱에 통합하는 방법을 설명할 것입니다.
이러한 새로운 형식의 샘플이 여러분의 개발 프로세스를 더 단순하고, 즐겁고, 생산적으로 만들기를 바랍니다. 또한 저희는 협업을 통해 무엇을 만들게 될지 매우 기대하고 있습니다. GitHub repository에서 확인해 보세요!