私は最近Meteorの実験を本当に楽しんでいますが、これまでのところ、Meteorは本当にすてきな小さなアプリであることがわかりました。古いアプリケーションをmeteorに移行することを決定し、すでにいくつかの良い進歩を遂げています。アプリケーションは、ライブスコア更新アプリケーションです。コンセプトを示すことができましたが、それを使用できない可能性のある2つの問題を見つけました。
1)データは以前にmySQLデータベースに存在していたため、データを.jsファイルにエクスポートするスクリプトを作成しました。同様のことをしたいと思うかもしれない人のために、PHPコードの主要部分はここにあります。
$handle = fopen($output_file, "w");
foreach ( $tables as $key => $table ) {
$query = "SELECT * FROM $table_prefix$table";
$res = mysql_query($query);
while ( $row = mysql_fetch_assoc($res) ) {
$newTableName = "";
$parts = explode("_", $table);
foreach ( $parts as $k => $v ) {
$newTableName .= ucfirst($v);
}
$string = $newTableName.".insert({";
$first = true;
foreach ( $row as $columnName => $value ) {
if ( !$first ) { $string .= ", "; }
$string .= "$columnName : \"$value\"";
$first = false;
}
$string .= " });";
print $string . "<br>";
}
}
これはほとんどのテーブルで機能しましたが、特にすべてのイベント情報を含む1つのテーブルがあります。この個別の.jsファイルには3600行の挿入ステートメントが含まれており、これがアプリケーションにあると、アプリケーションが壊れているように見えます。たとえば、ファイルの名前を「event.js.save」に変更すると、アプリケーションは正常になります。具体的には、この.jsファイルを配置すると、アプリケーションをデプロイするときに取得します。
mac:app user$ meteor deploy <domain>.meteor.com
Deploying to <domain>.meteor.com. Bundling ...
Errors prevented deploying:
Exception while bundling application:
RangeError: Maximum call stack size exceeded
したがって、質問1は、このアプリケーションのスケーラビリティをテストするためにどのくらいの作業が行われたかということです。
2)私が抱えている2番目の問題は、モバイルのパフォーマンスに関するものです。私は長い時間をかけてすべてのプラットフォームでスタイルシートの見栄えを良くしてきましたが、モバイルのバッテリーがどれだけ早く消耗するかを見て本当にがっかりしました。
Safariにページをロードすると、右上の「進行状況」アニメーションが常に回転しており、これまで見てきたことから、バッテリーの5%がおそらく10分で消費されます。
質問番号2-ブラウザの接続はどのように維持されますか?モバイルブラウザへの影響を減らすためにできることはありますか?
ありがとう。