11

私はSenchaArchitectのトライアルを開始しましたが、使用するほど、開発環境での実際の実現可能性の使用についてより多くの質問が頭に浮かびます。私が持っている大きな質問の1つは

さまざまなエディターで個々のファイルを編集できない環境で、たとえば、サイトのさまざまな部分を開発するために複数の人がどのように協力できるか

app/models|components|views/Model1.js  <- In charge of developer one
app/models|components|views/Model2.js  <- In charge of developer two.

通常の環境では、たとえばgitを使用して各ファイルを配布できますが、アーキテクトでは、ファイルを手動で編集することは期待されていません(プロファイルなどの機能はアーキテクトで公開されていないため、これは面倒です)。それらを手動で編集すると、問題が発生したり、コードがプロジェクトファイルのデータに上書きされたりする可能性があるため、Senchaとの適切な、または予想されるコラボレーションワークフローは何か疑問に思います。

4

5 に答える 5

21

上記の投稿を読んだ後でも、Senchaメタデータファイルをコードリポジトリに保持し、メタデータからすべてのJavaScriptを生成することが大きなプロジェクトに適しているとは信じられません。

Sencha Architectの考え方は、コードをjavascriptファイルではなく、JSONメタデータに保持することです。また、JavaScriptコードを編集する必要がある場合は、IDEを使用してメタデータを編集する必要があります。Phil Strongは、「アーキテクトをエディターとして引き続き使用するようお願いします。20人のエンジニアがGitまたはSVNを使用しても完全に安全です」と述べています。もちろん、このワークフローはSenchaにとって非常に有益です。開発者は、Sencha Architectを使用する必要があるため、JavaScriptコードの1行を変更するには、ライセンスされたSenchaArchitectを20人が使用する必要があります。

2人が同じファイルを編集すると、IDEはメタデータを更新します。次に、ファイルをコードリポジトリにチェックインし、そのうちの1つで競合を解決する必要があるため、開発者はJavaScriptファイルではなく2つのメタデータファイルをマージする必要があります。

開発者がSenchaArchitectを使用しない限りJavaScriptを編集できないようにするという考えは、同じ人がJavaとJavaScriptの両方の開発、またはPythonとJavaScriptにお気に入りのIDEを使用できるため、逆効果です。同じIDEでクライアントとサーバーの両方のプログラミングを行う方が、2つのIDEを切り替えるよりも高速です。大規模なプロジェクトの現実は、世界中にさまざまなIDEで作業する複数のチームがあり、お気に入りのIDEを持っている請負業者によって短期プロジェクトが実装されている場合もあります。

ExtJSは適切に設計されたフレームワークであり、JavaScriptコードの1行を変更するためにSenchaArchitectは必要ありません。

JavaScriptでコーディングするときは、JavaScriptファイルを保存してブラウザーを更新し、変更をすぐに確認します。Sencha Archtectは追加のステップを追加し、javascriptを公開する必要があります(メタデータからJavaScriptを生成します)。プロジェクトが大きいほど、遅延は長くなります。多くの場合、本番環境でJavaScriptファイルを変更する必要があります。場合によっては、1行を変更すると問題が解決します。また、Sencha Architectを使用して、メタデータからこの1行を再生成する必要があります。

私はSenchaArchitectをラピッドプロトタイピングにのみ使用し、生成されたファイルをコードリポジトリにチェックインして、JavaScriptを手動で編集し続けます。このアプローチでは、バージョン管理システムを使用してJavaScriptの履歴を確認できます。JSONメタデータをVCSにチェックインした場合、JavaScriptの履歴はなく、直感に反するJSONメタデータの履歴があります。

GUIフォームのメタデータがあることは問題ないと思いますが、MVCコントローラーレベルもメタデータから生成する必要があるという制限は問題ありません。

于 2012-12-21T09:24:52.610 に答える
10

便利でフル機能の開発環境を作成するためのSenchaの努力には非常に感謝していますが、SenchaArchitectは比較的大きなプロジェクトや開発者のチームに対して十分な準備ができているとは思いません。

私はオリジナルのアーキテクトソフトウェアを使用して、複雑なUI構造のプロトタイピングと設計をすばやく行うことができますが、UI要素がJSファイルにどのように配置されるかを理解した後は、既存のJSコードをコピーして貼り付ける方が簡単で高速です。

これがあなたが探していた答えではないと思います。私は自分の考えを共有したかっただけです。

于 2012-05-15T12:46:14.470 に答える
4

これと同じトピックを検索したところmetadata/、プロジェクトの重要な要素はディレクトリであり、すべてのコンポーネントが独自のメタデータファイルに分離されていることがわかりました。これは、ルートレベルのプロジェクトファイルとともに、バージョン管理にとっておそらく重要な部分です。はapp/保存時に再生成され、おそらくバージョン管理から除外できます。

メインのxdsプロジェクトファイルには、より一般的な参照が含まれており、メタデータコンポーネントよりも変更される頻度はおそらく低くなります。ただし、新しいコンポーネントが作成されたり、プロジェクト/アプリレベルの設定が変更されたりすると、変更されます。

理想的には、ルートファイルとメタデータフォルダをチェックインするだけで、正常に機能するはずです。

于 2012-05-16T23:27:09.543 に答える
4

Sencha Architectを使用すると、ソース/バージョン管理を使用してチームで作業するのは非常に簡単です。アーキテクトプロジェクトはすべてプロジェクトディレクトリに含まれています。内部はn個のパーツで構成されています

  1. プロジェクトファイル-アーキテクトがプロジェクトを開いて維持するために使用する少量のデータで構成されます。ダブルクリックして開くことができる単一のファイルです

  2. メタデータディレクトリ-プロジェクトのすべての部分を説明するファイルで構成されます。各クラス(コントローラー、ビュー、モデル、ストア、リソース)には、独自のファイルに格納された情報があります。 メタデータ

  3. appディレクトリ-作成したプロジェクトのsrcで構成されます。各クラスのJavaScriptファイル。 アプリ

  4. その他のルートファイル-アプリケーションのランチパッドであるapp.htmlとapp.js、およびアプリケーションをプレビューしたときに実行されるもの。これは、packager.json、app.jsonが移動する場所でもあります。

これらすべてを説明する私のポイントは、アーキテクトによって生成されたファイルが、お気に入りのエディターで手動で作成したものとほとんど同じであることを示すことです。唯一の追加情報は、メタデータとプロジェクトファイルです。メタデータはすべてJSONです。

今のところ!!引き続きアーキテクトをエディターとして使用してください。20人のエンジニアがGitまたはSVNを使用しても完全に安全です。開発者が変更を加えると、それらのファイルのメタデータとアプリの両方が変更されます。

ここに画像の説明を入力してください ここに画像の説明を入力してください

于 2012-05-24T14:12:27.890 に答える
2

私はプライベートメッセージでSenchaからAaronに同じ質問をしました。彼は、アプリとメタデータを含むプロジェクト構造全体をチェックインすることを提案しました。それはうまくいきます、私たちは私たちのチームで1つのフローを行いました。

于 2012-05-16T20:50:49.980 に答える