asp.netからLAMP(php)スタックにサイトを移植する際に直面する課題は何ですか?

StackOverflow https://stackoverflow.com/questions/617829

  •  03-07-2019
  •  | 
  •  

質問

asp.net c#(3.5)で記述されたエンタープライズアプリケーションと、顧客向けにバンドルおよびリリースするSQLサーバーがあります。

ただし、コストのためにMicrosoftサーバーが必要であるという懸念を表明しています。はい、わかっています...したがって、「P」を使用して、LAMPスタックに移植することを検討しています。 phpを参照しています。

Visual Studio asp.net環境からのLAMPスタックでの開発で直面する課題は何ですか?

私が確信している問題は:

  1. デバッグ:Visual Studioは、クライアント側とサーバー側の両方のデバッグに最適です。
  2. フレームワーク:モデルの背後にあるコードは素晴らしく機能し、MVCフレームワークは優れています。
  3. メンテナンス:両方のプラットフォームで共通の機能セットが必要です。
  4. データベースレイヤー:コードはmssqlデータ型に疎結合されています。

このエキサイティングなプロセスを経験したことがある方は、いくつかの推奨事項/ヒントを参照して、それがどのようなものかを知りたいです。

これの側面として、このコードをそのまま実行する方法はありますか?モノ?その他?

役に立ちましたか?

解決

* AMPスタックよりも.NETの経験が豊富ですが、XAMPPの経験に基づいて、次の観察結果を提供します

  1. デバッグ:Visual Studioは、クライアント側とサーバー側の両方のデバッグに最適です。

    Eclipse PDT は、設計、開発、デバッグに最適です。私はZend Studioについて良いことを聞いたことがありますが、それを使ったことはありません。

  2. フレームワーク:モデルの背後にあるコードはうまく機能し、MVCフレームワークは素晴らしいです。

    ロジックとプレゼンテーションを分離できるフレームワークがあります(例: Smarty )および少なくとも1つのMVCフレームワークが利用可能です(例: CakePHP

  3. メンテナンス:機能セットが両方のプラットフォームで共通であることを望みます。

    Windows固有の機能(Windows統合セキュリティなど)を除外する場合、両方のスタックでできないことはあまりないはずですが、gridviewなどのコントロールを再現する必要がある場合は、労働集約的です。

  4. データベースレイヤー:コードはmssqlデータ型に疎結合されています。

    mysqlサーバーとsqlサーバー間でマッピングできないデータ型はありません。移行の処理

Monoは、ソリューションの移植に必要な時間を短縮する可能性がありますが、すべてのコードを「現状のまま」再利用できる方法は知りません。

他のヒント

検討できるもう1つのPHP IDEはNetBeansです。

.NET、Java、およびLAMPの開発者としての最大の変化は、主に文化的なものでした。たとえば、PHPにはオブジェクト指向の原則を使用しないというレガシーがありますが、ASP .NETはオブジェクト指向を完全にサポートする.NET言語として始まりました。この基本的な違いは、PHPの予約済みキーワードの長いリストなどの重大な問題につながります。

その他のMVCフレームワーク:

  • CodeIgniter
  • 小花
  • Yii

(Yiiについて知っただけです。これらを比較する記事があります。

おそらく、さらに6つ以上あります。

iは私自身Asp.netのバックグラウンドを持ち、ここ数か月間、オープンソースフレームワークを研究しています。私はまだ決心していません。私は最近Grailsを見てきました。エンタープライズプラットフォーム上のスクリプト化された使いやすいオープンソースRAD MVCフレームワークである、両方の長所を備えているようです。 Groovyスクリプト言語(rubyに似ています)を使用しますが、JVM上で実行されるため、必要に応じて完全なJavaフレームワークを使用できます。そこには、事前に作成されたJavaコンポーネントが多数あります。このことはかなりクールです。既存のアプリをかなり迅速に移植できます。ただし、Tomcat Webホストが必要です。

PHPが必要な場合、ストレートPHPのパフォーマンスはかなり良くなりますが、ほとんどのフレームワークはパフォーマンスが低下します。 PHPをそのまま使用する場合、mvcはありません。従来のページベースのモデルを使用することになります。しかし、あなたはもっとくつろいでいるでしょう。 PDOを使用して独自のDALをロールし、ストアドプロシージャを使用できます。ただし、テンプレートシステムが必要になります。独自のテンプレート言語を使用するSmartyには近づかないでください。時間がかかり、なぜ別のテンプレート言語を学ぶ必要があるのですか。私はそれを得なかった。代わりにSavantを使用してください: http://phpsavant.com/ 。テンプレート言語にphpを使用し、高速です。各サイトページのテンプレートページを作成することで、これでコードビハインドを模倣することもできます。 mvcに関しては、Yiiと呼ばれる新しいPHPフレームワークがあります( http://www.yiiframework.com/ ) PHPフレームワークで最高のパフォーマンスが得られると主張しています。十分に文書化されています。 .Netから来ている場合は、おそらくphpフレームワークで最高です。 Zendに似たエンタープライズ感がありますが、パフォーマンスは低下しません。他のほとんどはおもちゃっぽい、またはSymphonyやCakeのように本当に遅いです。 PHPはApacheでうまく機能します。 RailsやDjangoとは異なり、チューニングやメンテナンスはそれほど必要ありません。

次に、IDEが必要です。 Netbeansを使用します。 PHPバージョンを使用して、 http://www.xdebug.org/ をインストールします。 VSに劣ると感じますが、悪くはありません。

DBの場合、MySqlはセクシーな選択ですが、Postgresは優れています。すべてを実行するdbエンジンが1つあります。 Mysqlでは、必要な機能の一部はInnoDBにあり、一部はMyIsamにあります。外部キーとトランザクションが必要な場合は、InnoDBを使用する必要があります。 MyIsamを使用して、全文検索と高速な読み取りパフォーマンスを実現します。 Postgresのパフォーマンスは、バージョン8リリース(現在のmysqlと同じ)で大幅に改善され、最終的には素晴らしいWindowsインストーラーになりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top