我真的很喜歡最近與Meteor做實驗,到目前爲止,我發現它是一個非常整潔的小應用程序。我決定將一箇舊的應用程序遷移到流星,並已取得一些進展。該應用程序是一個實時比分更新程序。雖然我已經能夠證明我發現的兩個問題,可能會阻止我使用它的概念。流星的可擴展性和性能
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>";
}
}
儘管這對大多數表格都有效,但我有一張特別包含所有事件信息的表格。這個獨立的.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)我的第二個問題是關於移動性能。我花了很長時間在所有平臺上看到一款樣式表很好看,並且非常遺憾地看到移動電話的電池速度有多快會下降。
當我在Safari中加載一個頁面時,右上角的'progress'動畫不停地旋轉,從我看到的5%的電池大概在10分鐘內。
問題2 - 連接如何保持瀏覽器的活躍狀態?有什麼可以做的,以減少對移動瀏覽器的影響?
謝謝。
就瀏覽器而言,旋轉實際上按照設計工作。它是由AJAX觸發的:AJAX意味着某些東西的加載,如果有東西加載輪子旋轉:) –
爲下面的備份而歡呼:),是的,不確定我想在AJAX加載時進行旋轉。 – jonathanKingston
感謝您的更新。我已經能夠按照您的建議稍微改變我的代碼來解決問題了。我已在下面發佈了更新後的代碼和第2條評論的回覆。謝謝。 – afeltham