Imported-from-Medium
React Native用の軽量な日本語分かち書きモジュールを作りました
React Native用の軽量な日本語分かち書きモジュールを作りました 自分はInkdropというMarkdownノートアプリを作っていて、今新しいモバイル版をReact Nativeで開発しています。そのアプリ用に作成した日本語用分かち書きモジュールを公開したのでご紹介します。 特徴は、ネイティブ実装でかつUIとは別スレッドで処理を行うため、高速でUIがカクつきません。 アプリを作る過程で、日本語のノートの全文検索機能を実現するためにテキストのトークナイズ処理をJavaScriptで実装していました。しかしながら大量のテキストを一度にインデックスしようとすると時間がかかる上に、その間UIが固まってしまう問題がありました。なぜならReact Native製アプリはJavaScriptで組まれていて、シングルスレッドだからです。 そこで、バックグラウンドスレッドで分かち書き処理が行えるネイティブモジュールを作りました。バックグラウンドなのでUIをブロックすることはありませんし、ネイティブ実装なのでパフォーマンスも期待できます。 CFStringTokenizerというクラスが