過去にSproutCoreを使用しました。Selenium RCと呼ばれるツールを使用して、自動化されたWebテストスクリプトを開発するプロジェクトに割り当てられました。Selenium RCは通常のHTML IDとクラスを対象として構築されましたが、SproutCoreは要素IDをコンパイルして要素IDを擬似ランダムにするため、ビューツリーから要素IDを抽出できるようにSproutCoreのAPIを把握する必要がありました。
SproutCoreは、コンパイラーによく似ています。Webページ用に作成するインポートする要素が多すぎる場合、jQueryを使用してアプリケーションをビルドすると、IDで名前空間の衝突が発生する可能性があります。jQueryを使用してWebページを構築する場合、HTML要素のすべてのIDはグローバルです。コンパイルまたは解釈された言語のようなローカルスコープのようなものはありません。
SproutCoreは最終的にHTMLコンテンツを管理します。ビューはjavascriptを使用して構築され、コンパイルされます。SproutCoreチュートリアルを実行すると(そして、SproutCoreのドキュメントが不足していることに同意するので、ビジネスアプリケーションではSproutCoreを避けるようにしてください)、完成したプロジェクトのID要素が「sc-###」であることがわかります。ウェブサイト上で名前空間の衝突が解決されるようになり、作業が高速化される可能性があります。
ただし、大きな懸念があります。彼らのドキュメントは、なぜ人々がそれを使うべきかを説明するのに十分な仕事をしていません。このプロジェクトはオープンソースですが、ビューがどのように構築されるかについての低レベルのjavascriptを理解するために掘り下げるのは苦痛になります。Javascriptは関数型言語ですが、動的関数型言語には何か問題があります。柔軟性が高すぎます。Scalaをプラグインしています。
最後の問題。SproutCoreは遅い場合があります。しかし、それは支払う代償です