Webアプリケーション開発をいらいらさせないようにするにはどうすればよいですか?


8

私はWebアプリケーション開発にかなり慣れていません。遠く離れた複雑さの何かをするのに永遠にかかるという気持ちを揺さぶることはできません。c ++とjavaでは、同じアプリケーションを数時間で作成できました。

Webでのデバッグは苦痛です(特に複雑なjson-ajaxの場合)。IDEは最低です。言語はすべてがエラーなしで通過できるようになり、それが機能しなくなり、エラーや警告なしでバグを探して行き詰まります(プログラムをステップスルーするための実際の良い方法はありません)。

誰かが、複雑なWebアプリケーションを開発するときに正気を保つ方法を見つけるのに役立つ資料やテクノロジーを読むように案内してくれませんか?

おそらく答えは、優れたフレームワークを使用することです(zend?)。職場では、データベースモデルジェネレーターと基本的な追加/更新/削除ページジェネレーターを除いて、実際にはフレームワークを使用していません。


明確にするために、私は主にJavaScriptではなくサーバー側のphpデバッグについて話しています。
zhenka

2
タイトルとタグを更新して、明確化を反映できますか?
psr 2011

WebアプリケーションをJavaで作成できますか?

3
デバッガーでコードをステップ 実行することは、可能な最悪のデバッグ手法です(そして、何らかの理由でそれは非常に過大評価されています)。アサート、コントラクト、ログの力を活用します。
SKロジック

1
@Raynos、ほぼすべての動的言語用の多くのコントラクトフレームワークがあります(ただし、正直に言うと、PHPでこのようなものは見たことがありません)。en.wikipedia.org/wiki/…–
SK-logic

回答:


4

Firefoxとfirebugをまだ使用していない場合は、使用する必要があります。Firebugのデバッガーは素晴らしさで一杯です(Chromeはそうではありませんが、それらはほとんど同じです)が、ブラウザーを起動せずにFirefoxをスクリプト化できるmozreplなどのOSプロジェクトがあるため、Firefoxを使用する傾向がありますSeleniumなどの自動テストスイート。

そのため、クライアント側では、ChromeまたはFirefoxに優れた組み込みデバッガー(ウォッチペイン、パフォーマンスモニター、C ++ / Javaで知って気に入っているすべての優れた機能が満載)があります。

サーバー側については、PHPを使用している場合は、DBGを使用することを強くお勧めします。PHPに縛られていない場合は、Pythonに移行してPDBを使用することを強くお勧めします。PDBとcProfileを組み合わせると、開発作業が非常に簡単になります。

GDBに慣れている場合は(C ++)、PDBとDBGの両方を非常に簡単に選択して実行できます。どちらもEclipse、Netbeans、Vimなどのエディターに統合できます。


1

動的言語ではプログラムが異なります。コンパイル時のチェックはありませんが、コンパイル時の遅延もありません。だから私は一度に小さなコードを書いて、それをテストします。私は空白のページから始めて、一度に1つの要素を追加していきながらテストを行っています。機能するようになり次第、小さな変更をリビジョン管理にコミットします。そうすれば、私が失敗した場合は、以前の作業状態に戻して、もう一度試すことができます。サーバー側では、動的言語の方がJavaよりも生産性が高いことがわかりました。これは、コードの書き込みと読み取りがはるかに少なくて済み、サーバーの再起動をいじる必要がないためです。


+1)これは、私たちのチームでも使用したアプローチと同じです。Web開発には、デスクトップアプリケーションと比較していくつかの違いがあります。ただし、一般に、開発とテストの基準は、新しいコードの潜在的なエラーをより適切に見つけるための基準です。
フランチェスコ


@Jonas-再起動がJavaの制限によるものではないことは事実ですが、人気のあるJEE実装のどれも動的にクラスをリロードしません。ホットパッチは時々機能しますが、実際にはハックです。
ケビンクライン

1

PHPに本当に耐えられない場合は、JavaまたはC ++(またはRuby、Python、またはScalaなど)をいつでも使用できます(これは理解できます。多くの人はそれを好きではありません。)

あなたが現在使用しているものに固執したい場合は(、あなたは放火犯を使用している作るグーグルクロームのdevのツールは、多くの素晴らしい取得しようとしているものの)でFirePHPプラグインあなたがの完全なビューを持つことができるようになりますPHPの状態と発生したエラー。

さらに、使用中のPHPエラー処理関数を使用していることを確認してください(ただし、悪意のあるユーザーがアプリの内部を見つけるための優れた方法であるため、公開前にもう一度削除してください)。

IDEについては、いつでもEclipse PHP開発者ツールを試すか、より専用のZend Studioを使用できます。


1

開発を改善するために使用するいくつかのツールは次のとおりです。

Visual Web Developer 2010(Visual Studio 2010の一部)

あなたはIDEが悪いと言った。これであなたは今最高のIDEの1つを手に入れました。C++でコーディングするのに慣れていれば、VSを知っているに違いありません。私は無料のエクスプレス版を使用しており、それ以上は必要ありません。

JSフィドルコードパッド

HTML / CSSレイアウトとJSスクリプトを試すのに最適です。コードパッドは、サーバー側の言語でウェブサイトを試すのに最適です。

Firefox + Firebug(または他のブラウザの同等物)

ブラウザを使用すると、スクリプトのデバッグがはるかに簡単になります。また、必要に応じて操作できる完全なツリースタイルのDOMもあり、変更はリアルタイムで適用されます。

フレームワークを使用する

あらゆるWeb言語に対応するさまざまなフレームワークがあります。十分にテストされた一連の機能を提供し、ブラウザー間の互換性を保証し、デバッグにかかる​​時間を大幅に節約し、「少ない書き込みで多くのことを実行」します。JavaScriptコーディングについては、jQueryYUIを調べることをお勧めします。


コンソールログ

デバッグの進行状況を追跡するには、ほとんどのブラウザーに統合されているデバッグコンソールを使用します。JSでは、を使用しconsole.log('something to write');てテキストエントリをデバッグコンソールに追加します。これにより、デバッグのためにコードに有用な情報を追加し、コードの実行を追跡できます。


ボイラープレート

誤解しないでください。通常のウェブサイトではなく、ウェブアプリケーションの開発に携わっていることを知っています。しかし、実際には、それはまだウェブサイトであり、依然として最も重要な問題であるクロスブラウザ互換性に注意する必要があります。これは、HTMLページの強固な基盤を提供する強固なテンプレートです。

CSSリセット

独自のCSSリセットが付属しているボイラープレートを使用していない場合でも、ブラウザー間でページが正しく表示されることを確認したい場合があります。CSSリセットはこれを保証します。私のお気に入りは、CSS BaseCSS Fontsと共に、YUI CSS Resetです。


0

Ruby on Railsのようなフレームワークを使用すると、フラストレーションを大幅に緩和できます。それはかなり良いエラー報告を持っており、モデルとデータベースを扱うActiveRecordのおかげで簡単です。構成に関する規約の哲学に従っている限り、RoRを使用して複雑なWebアプリケーションのプロトタイプをかなり迅速に作成できます。

Firebugは2番目ですが、webkitの開発者ツールも問題なく動作します。

リソースの編集:

ここは無料で始めるのに最適な場所です。

www.railstutorial.org


0

XDebug、VSに慣れている方法に近い方法でデバッグするのに役立ちます(最新バージョンの Wampserver はXdebug(サーバーとクライアントの両方)に同梱されています)。テキストエディタ)。

また、PHPが気に入らない場合は、別の言語を試してください。Python、Ruby / Rails、ASP、Perlの方が便利な場合があります。

また、PHPスクリプトの代わりにC ++ CGIモジュールを作成することもできますが、PHPをもう少し試すことをお勧めしますが、こつをつかんだら非常に便利です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.