PHPの代替手段がある場合、それは何ですか?

ベストアンサー

正直なところ、単純/中レベルのサーバーサイドスクリプトを実行する場合は、次のようにする必要があります。 PhPに行きます。これは、ハンズダウンという最高のサーバースクリプトの1つです。これは、これまでで最も人気のあるサーバーサイド言語です。

Facebookやgoogleのような膨大な負荷を処理しようとしている場合は、Pythonスクリプトを調べる必要があります。または、サーバー側でCプログラミングを使用することもできます。

ここに一般的に使用されるサーバー側言語の概要を示します

CGI / Perl

Perlは、World WideWeb自体よりも長い間使用されてきました。バージョン1は1987年12月18日にリリースされました。この記事で取り上げられている他の言語が考案される前に、完全な 10年でした。このようなものに慣れていない場合は、おそらくサーバー側のWeb開発言語がWeb自体の前にどのように存在していたのか疑問に思っているでしょう。ご覧のとおり、PerlはWeb開発言語として作成されていません。実際、Perlは、多くのテキスト操作を伴うタスクを処理するように設計された多目的スクリプト言語です。 Perlは、さまざまなソースからのテキストをジャグリングし、それらを組み合わせて完全なドキュメントを形成するのに非常に優れています。これはまさにサーバー側のWeb開発に関係するものです。 Perlは、作成されてから10年半で、モジュールによって拡張されました。これは、言語にプラグインして適応できる複雑な機能の一部です。さまざまな特殊な目的にそれを。そのような目的の1つは、大多数のWebサーバーでサポートされているCommon Gateway Interface(CGI)を介した動的Webコンテンツの作成です。 CGIは、WebサーバーソフトウェアがブラウザのWebページ要求を任意のプログラムに渡すことができる標準的な手段です。正直なところ、CGIプログラムは、必要に応じてC / C ++で記述できます(場合によっては記述されています)。ただし、テキストの処理が便利なため、Perlは常に仕事に適していました。現在、Perlには CGI.pm モジュールが組み込まれています。 HTMLフォームの送信などの処理の本質的な詳細の一部が自動的に処理されます。最後の恩恵として、 Comprehensive Perl Archive Network(CPAN)が設立され、アドインモジュール、サンプルスクリプト、場合によっては完全なソースを一元的に提供します。開発されたWebアプリケーション。今日、Perlのバージョンはすべての主要なオペレーティングシステム(主流のWindowsから最もあいまいなUnixバリアントまで)で無料で利用できます。複雑なことをしたい場合は、誰かがすでにモジュールを作成して作業を簡単にしている可能性があります。 。この言語の唯一の欠点は、Web開発専用ではないため、Webサーバー設定での速度、スケーラビリティ、または使いやすさのいずれかについて最適化されていないことです。 Web開発の分野でも同じように学習できる言語は他にもたくさんありますが、Perlを使用すると、必要に応じてWeb開発だけでなく多くのことを実行できます。 利点:

  • 10年以上の歴史を持つ成熟した言語であるため、Perlでバグに遭遇する可能性はより低くなります。他のサーバーサイド言語で。
  • 無料ですが、ロープを紹介する良い本は少し後退するかもしれません。
  • ほとんどの優れたWebホストはPerlをサポートしているので、おそらくホスティングに追加料金を支払う必要はないでしょう。
  • 世界中の専用Perl開発者の広大なネットワークを自由に利用できます。彼らは無数のPerlディスカッショングループやメーリングリストであなたの質問に答えるだけでなく、CPANアーカイブ(とりわけ)はあなたにたくさんの例を提供します。

欠点:

  • 状況を改善するためのいくつかのオプションがありますが、Perlはビジー状態のサーバーでは特にうまく拡張できません。短時間で多くのヒットを処理できるWebアプリケーションを作成したい場合は、他の場所を探すことをお勧めします。
  • Perlは、5つの異なる方法でさえも行うことで有名です。最も単純なこと。これは、他の人があなたが見慣れているのと同じ方法を使用しなかった場合、他の人の仕事から学ぶことを困難にする可能性があります。さらに、Perl開発者は、特定のプログラムを作成する最短の方法を見つけることで有名です。そのため、サンプルスクリプトを見るだけで、完全なeコマースショッピングカートスクリプトが3行のコードで記述されていることに驚かれるかもしれません。は波線とバックスラッシュです。
  • Perlはそれが作成されたUnixプラットフォーム用に最適化されているため、Windowsサーバーで作業する場合は、パフォーマンスの面でより適切な選択肢があります。
  • Perlはオープンソースソフトウェアです。つまり、正式なサポートはありません。利用できる巨大なサポートコミュニティにもかかわらず、何か問題が発生した場合、本当に信頼できるのは自分だけです。

ターゲット開発者:今日でもPerlを使用しているほとんどのWeb開発者は、Unix管理者であり、システムの他の領域でもPerlを使用するユーザーである傾向があります。このような人々にとって、Perlは、いつでも信頼できる快適な「どこにでも行け、何でもできる」ツールです。もともとPerlで書かれたサイトを維持するタスクに直面している経験の浅い開発者の場合は、良い本をいくつか入手して、追加する準備をしてください。本当に強力なツールです。

ASP

先に進む前に、そこにいる純粋主義者のために何かを邪魔しないようにしましょう。 Microsoft Active Server Pages(ASP)は言語ではありません。むしろ、ASPは、多数のスクリプト言語(VBScriptとJavaScriptが最も一般的な選択肢)の1つを、拡張可能なソフトウェアのセットコンポーネントと組み合わせることができるフレームワークです。 。これらのコンポーネントは、ASPフレームワークの一部として使用される場合、選択したスクリプト言語によってオブジェクトとして扱われます。本質的に、ASPの力は、VBScriptやJavaScriptなどの比較的単純なスクリプト言語をC / C ++開発者が通常使用する強力なソフトウェアコンポーネントと組み合わせる機能にあります。さて、それは邪魔にならないマイクロソフトのセールスピッチです。それでは、事実に直面しましょう。すべての実用的な目的のために、ASPは言語である可能性もあります。 VBScriptASPまたはJavaScriptASPのどちらを作成するかを選択するだけです。そこにあるサンプルコードのほとんどはVBScriptで書かれているので、あなたの選択はほとんどあなたのために作られています。したがって、ASPは一般に、VBScriptを使用して動的なWebサイトを開発するための言語と見なされており、その傘の下で優れています。 ASPは習得が容易で、ほとんどの主流のサーバー側Web開発に十分強力であり、パフォーマンス面でも非常に優れています。 ASPは、Windowsオペレーティングシステム(ASPがその機能のために依存するソフトウェアコンポーネントのほとんどはWindows固有です)およびMicrosoftインターネットインフォメーションサービスWebサーバーソフトウェアと密接にリンクしています。これらの理由から、Windowsベースのサーバー以外でASPに基づくWebサイトを実行することは実用的でも望ましくもありません。独自のWebサーバーをセットアップする場合は、Windows 2000 Serverのコピーに投資する必要があります(ASPの多くはWindows 2000 Professionalで実行されますが、IISはそのプラットフォームではそれほどスケーラブルではありません)。 Webホスティングにお金を払っている場合、それはWindowsベースのサーバーにお金を払うことを意味します。これは通常より高価です。どのように見ても、ASPは実行にお金がかかります。 Linuxで実行されているApacheサーバーで実行できるASPのバージョンがありますが、特に目的がない限り、既存のASPWebサイトをに移動することです。 Linuxサーバー、ほとんど意味がありません。 ASP開発者にとってのもう1つの懸念は、ASPにバンドルされているコンポーネントの性質が比較的限られていることです。アプリケーションに必要なのがデータベース接続、検索エンジン、電子メール処理サービス、基本的なフォーム処理、およびセッショントラッキングだけである場合、ASPは最適です。ただし、あまり一般的でない機能では、通常、サーバーに追加のソフトウェアコンポーネントをインストールする必要があります。 PDFファイルを生成し、FTPサーバーと対話し、バイナリファイルのアップロードを処理するASPで使用するコンポーネントを作成している企業はたくさんあります。残念ながら、ASPのようなこれらのコンポーネントは、コストがかかる商用ソリューションになる傾向があります。これらすべての利点は、ASPが非常によくサポートされているテクノロジであり、その背後にあるMicrosoft開発コミュニティのすべての支援を受けていることです。 MSDN 、Microsoft Development Networkは、ASP開発者向けに豊富な技術記事と参考資料を提供しており、Microsoftサポート担当者が開発作業で発生した問題を喜んで調査します。 (価格で)。質問への回答がどうしても必要な場合はいつでも、回答を提供する仕事をしている人がいるので安心できます。 利点:

  • プログラミングは必要ですが、かなり簡単に習得できます。
  • Windows 2000Serverに組み込まれています。 —インストールの問題はありません。
  • 専門的なサポートを利用できます。

欠点:

  • 無料ではありません(すでにWindowsサーバーを使用している場合を除く)
  • 特殊な機能では、商用コンポーネントを購入するか、C / C ++またはVisualBasicで自分で開発する必要があります。
  • Cスタイルの構文(C / C ++、Java、Perl、PHPなどで共有)に慣れている場合は、VBScriptの特異性を理解するのが難しい場合があります。

ターゲット開発者: VBScriptまたはVisualBasicを使用して開発を行った場合、またはWindowsでCOMオブジェクトを開発した場合以前は、これは間違いなくあなたのためのWeb開発プラットフォームです。また、ASPは、プログラミング言語が得ることができるのと同じくらいプログラマー以外の人にも優しいです(しかし、プログラミングが本当に嫌いな場合は、次にCold Fusionをチェックしてください)。 Webサーバープラットフォーム用にWindowsを使用することに抵抗がなく、関連するコストを負担できる場合、または勤務先の会社がMicrosoftが提供できるレベルのサポートを単に要求している場合、ASPは学ぶのに最適なテクノロジです。常温核融合これまでプログラムを書いたことがないWebデザイナーにとって、サーバー側のWeb開発プラットフォームの選択は恐ろしいものになる可能性がある。どちらに行っても、学ぶべき大きくて邪悪なプログラミング言語に直面し、頭が痛くなり始めます…元々は1995年に Allaire によって作成されました。 Macromedia によって買収されたColdFusionは、異なるように設計されました。スクリプト言語の代わりに、ColdFusionは学習するためのタグのセットを提供します。はい、タグ—あなたが知って愛するようになったHTMLタグと同じように!Web上のデータベースに保存されている情報を公開する例を見てみましょう。サーバー側の言語の大部分では、コードを追加する必要があります。 HTMLモードから抜け出し、データベースに接続し、表示するデータベースからのエントリを要求し、データベースから送信された結果を処理して、Webページの一部として表示するWebページ。ColdFusionでは、これは一般的なタスクは2つのタグで実行されます:タグ。その属性はクエリに名前を付け、どのデータベースから取得する情報を示します。2番目のタグはクエリを参照し、標準のHTMLを使用できるようにします。経験豊富なプログラマーにとって、このタグベースのシステムは制限的で柔軟性がないように聞こえるかもしれませんが、最新バージョンには300を超えるタグの組み込みライブラリがあり、カスタムタグを追加する機能があります。 C / C ++などのより伝統的なプログラミング言語nd Java、ColdFusionは何でもですが制限があります。 Cold Fusion 5.0には、データベースデータからグラフを自動的に生成し、Webサイトに検索機能をシームレスに提供し、完全なJavaScript検証コードを使用してHTMLフォームを生成するタグが含まれています。サーバーサイドのスキルを習得することを余儀なくされている設計者のために、常温核融合はいくつかの新しいタグを学ぶだけでよいというユートピア的な約束を持っている! ASPと同様に、Cold Fusionは商用サーバープラットフォームです。つまり、独自のサーバーをセットアップする場合でも、Webホスティングプロバイダーでスペースを借りる場合でも、実行するには費用がかかります。ただし、ASPとは異なり、ColdFusionはWindowsプラットフォームに関連付けられていません。 Cold Fusionは、Windows 2000上のIISと同じように、Linuxで実行されているApacheと簡単に統合できます。利点:

  • 非常に習得が簡単—プログラミングは必要ありません!
  • 強力で非常にスケーラブルです(最新バージョンでは、ソフトウェアベースとハードウェアベースの両方のサーバークラスタリングがサポートされています)。
  • Macromediaによるプロフェッショナルサポート。
  • クロスプラットフォーム。

欠点:

  • 設定に費用がかかる独自のサーバーをアップする:Cold Fusion Server Professional5.0の価格は1,295ドルです
  • プログラマーはタグベースの開発方法を好まないかもしれません。

ターゲット開発者: HTMLに慣れているが、プログラミング言語を習得せずにサーバー側のスキルをレパートリーに追加する必要があるWebデザイナー。平均的な開発者の観点からは、Cold Fusionを学ぶことは、いくつかの新しいタグを学ぶことと同じです。設計者以外の人も、タグを使用したサーバー側プログラミングのすっきりさにウォームアップする可能性が高いため、サーバー側スクリプトのデバッグにうんざりしている場合は、ColdFusionを一見の価値があります。

PHP

サーバー側の開発分野では比較的新しいPHPであり、プログラマーの間で大きな支持を得ています。おなじみの構文と包括的な関数ライブラリ。また、その比較的単純な構文と低価格(無料です!)により、新しい開発者にとってMicrosoftのASPの魅力的な代替手段になっています。 PHPは、サーバーサイドスクリプトの世界の「Perlキラー」と呼ばれています。 Web開発の目的で、PHPはPerlが実行できるほとんどすべてのことを実行でき、通常はより迅速かつ簡単に実行できます。通常、各ページ要求を処理するためにWebサーバーによって呼び出されるCGIプログラムとして実行されるPerlとは異なり、PHPはWebサーバーと統合できるため、はるかに効率的に動作します。PHPは非常に有能な言語であり、ユーザーセッションの追跡から動的グラフィックス、さらにはPDFファイルの生成まで、あらゆることを実行するための膨大な数の組み込み関数を備えています。インストールするモジュールも、購入する商用アドインもありません…PHPはすべてを処理します。実際、PHPの唯一の弱点は、言語を拡張して、組み込み関数で処理されない非標準の機能を追加することが比較的難しいことです。これを行うには、C / C ++プログラミングの知識が必要であり、気の弱い人向けではありません。幸い、PHPにまだ組み込まれていない機能を必要とするためには、非常に難解なWebアプリケーションを考え出す必要があります。 PHPは、無料のクロスプラットフォームのオープンソースソフトウェアです。これは、すべての主要なオペレーティングシステム上のすべての主要なWebサーバーと統合されます。これは、PHPをサポートする完全なLinuxベースのWebサーバーをセットアップでき、ソフトウェアにお金を払わないため、予算内の開発者にとって大きな恩恵です。もちろん、これの欠点は、PHPで発生する可能性のある問題に対する正式なサポートがないことです。また、PHPは非常に新しく活発に開発されたテクノロジーであるため、最新バージョンにはまだ時折バグがあります。ただし、これらの問題を気にしないでください。PHPには非常に活発なユーザーコミュニティがあります(その大部分は、独自の SitePointフォーラムにあります。 !)これは常に障害の発生を支援することを熱望しており、現在のバージョンのPHPは非常に安定していて信頼性があります。 利点:

  • 特にC / C ++、Java、またはPerlの経験を持つ開発者にとってはかなり簡単に習得できます。
  • アクティブなユーザーコミュニティがあなたに手を貸してくれます。
  • すべてが言語に組み込まれています。
  • 無料です!
  • クロスプラットフォーム。

欠点:

  • この言語は、プログラマーにとって使いやすいように設計されています。残念ながら、プログラマー以外の人には少し不親切になります。

ターゲット開発者:予算内で楽しんでいるWeb開発者単純なプログラミング(JavaScriptなど)、または方法を学ぶことを気にしないでください。 PHPは、比較的単純なコード構造で大きな力を発揮しますが、PHPの組み込み機能でサポートされていない非常にハイエンドのアプリケーションには適していない可能性があります。

Java

Javaは、間違いなく、今日のサーバーサイドWeb開発にとって最も強力なプラットフォームです。 Webページ要求を処理する小さなJavaプログラム(サーブレット)から、HTMLとカスタムタグおよびJavaコードを組み合わせたJavaServer Pages(JSP)、さらにはEnterprise JavaBeans(EJB)まで、サーバー間でシームレスに情報を伝達する高度な機能を備えたソフトウェアコンポーネント分散アプリケーションに対応するネットワークであるJavaは、真にホットなテクノロジーです。経験豊富なJavaWeb開発者は、年間10万米ドルを超える給与を簡単に引き出すことができます。ご想像のとおり、それには理由があります。Javaを学ぶのは簡単ではありません。 Perl、ASP、PHPなどのスクリプト言語とは異なり、Javaは、大きなプログラムを完全に記述できる本格的なプログラミング言語です。プログラミングの経験が少ない人は、良い本の助けを借りて、Java言語の実用的な知識を1〜2か月で習得できると期待できます。また、別の月には、単純なサーバー側プログラミングの基本を習得できる可能性があります。 Javaで。さて、サーバーサイドプログラミングでキャリアを積むことに興味があるなら、それはそれほど多くないように思えるかもしれませんが、何かをすばやく動作させたいだけなら、PHPのような単純な言語で1週間で稼働させることができます。もっと少なく! Javaは、Write One、Run Anywhere(WORA)の哲学で知られています。実際、Javaはすべての主要なWebサーバーとすべての主要なオペレーティングシステムで実行できます。 Java Webアプリケーションは、標準のWebアプリケーションアーカイブ(.WAR)ファイルにバンドルして、プラットフォームに関係なく、Java対応のWebサーバーにインストールすることもできます。 Javaのメーカーは、このメカニズムを使用して、JavaWebサーバーで使用する商用Webアプリケーションを配布することを計画していました。ただし、私の経験では、Java Webアプリケーションは、オンラインで購入できる販売可能なソリューションではなく、複雑な問題に対するカスタマイズされたソリューションになる傾向があります。多くの異なるベンダーが、ApacheやIISなどのWebサーバーがJava Webアプリケーションを実行できるようにするプラグインを作成しています。それらのほとんどは個人的な使用と開発に無料ですが、商用サービスに使用する前に大部分の料金を支払う必要があります。ウェブサイト。 利点:

  • 非常に強力でスケーラブルです。
  • クロスプラットフォーム。
  • ほとんどのJavaサーバープラグインは、個人用および開発用に無料です。

欠点:

  • Javaは学ぶのに多くの作業を要します。オブジェクト指向プログラミングの学習に真剣に取り組んでいない場合でも、始めないでください。
  • 商用Webサイトをホストするために使用する場合、ほとんどのJavaサーバープラグインは有料です。

ターゲット開発者: Webアプリケーションに究極のパワー、柔軟性、スケーラビリティを求め、お金を払ってもかまわない真面目な開発者汗、涙、発達時間に。まとめこの記事では、現在利用可能なすべての主要なサーバー側開発オプションの相対的な機能、利点、および欠点について説明しました。

  • Perl :理解しにくい成熟したクロスプラットフォーム言語
  • ASP :Microsoftの強力なWindowsベースのフレームワーク
  • Cold Fusion :プログラマー以外のユーザー向けの強力なタグベースのオプション
  • PHP :多くの機能が組み込まれたクロスプラットフォームのオープンソースの代替手段
  • Java :真面目なプログラマーのための究極のパワーと柔軟性

乾杯

回答

PHPは単なるサーバーサイドスクリプト言語です。それをサポートするサーバーソフトウェアが利用可能である限り、任意のプログラミング言語を代替として使用できます。DjangoにはPython、Node.JSにはJavaScript、IISにはASP .Net、TomcatにはJava、ApacheにはPhpなどを使用できます。まだ使用していません。

私が個人的に気に入っているのはASP.net MVCです。これは、強力なVisual Studioを使用してコーディングでき、C#を使用できるためです。 Visual Studioほど強力なIDEがない(おそらく私はこれを手に入れたことはない)という理由だけでphpは好きではなく、ほとんどの場合phpはまだ手続き型です。私は私のキャリアのほとんどでオブジェクト指向言語でコーディングしてきましたが、手続き型のスクリプトは私には古すぎるようです。そのためにJSも嫌いですが、少なくともjQueryは私の問題のほとんどを解決するためにあります。

phpには大規模なプロジェクトに必要な構造が欠けていると感じています。はい、知っています。 facebookはphpを使用していますが、大幅にカスタマイズされており、独自のフレームワークとIDEを作成する才能のあるエンジニアがいます。CodeIgniterやCakePHPなどのフレームワークも試しました。生のphpコードを書くよりは確かに優れていますが、比較することはできません。 C#コードを書く贅沢。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です