ASP.NET läuft schneller. Die ASP.NET-Entwicklung ist schneller. Kaufen Sie einen schnellen Computer und genießen Sie ihn, wenn Sie ernsthafte geschäftliche Webanwendungen ausführen
ASP.NET-Code wird im Vergleich zu PHP viel schneller ausgeführt, wenn er im Release-Modus erstellt, optimiert, zwischengespeichert usw. usw. Für Websites (außer Big Player wie Facebook) ist dies jedoch weniger wichtig - die meiste Zeit für das Rendern von Seiten ist Zugriff auf und Abfrage der Datenbank.
Beim Verbinden der Datenbank ist ASP.NET viel besser - in asp.net verwenden wir normalerweise LINQ, das unsere Objektabfragen in gespeicherte Prozeduren in der SQL Server-Datenbank übersetzt. Auch die Verbindung zur Datenbank ist dauerhaft, eine für eine Website, es ist keine erneute Verbindung erforderlich.
Im Vergleich dazu kann PHP keine SQL Server-Verbindung zwischen Anforderung halten, es stellt eine Verbindung her, holt Daten von der Datenbank und zerstört sie, wenn das erneute Verbinden der Datenbank häufig 20 bis 30% der Zeit für das Rendern von Seiten ausmacht.
Außerdem wird die gesamte Webanwendungskonfiguration bei jeder Anforderung in PHP neu geladen, wo sie in asp.net im Speicher verbleibt. Es kann leicht in großen Unternehmens-Frameworks wie symfony / symfony2 gesehen werden. Eine Menge Renderzeit ist symfony-interner Prozess, bei dem asp.net es einmal lädt und Ihren Server nicht für nutzlose Arbeit verschwendet.
ASP.NET kann Objekte im Cache im Anwendungsspeicher speichern - in PHP müssen Sie sie in Dateien schreiben oder Hack-ähnlichen Memcache verwenden. Die Verwendung von Memcache ist eine Menge Arbeit mit Parallelitäts- und Gefahrenproblemen (das Speichern des Cache in Dateien hat auch eigene Probleme mit der Parallelität - jede Anforderung startet einen neuen Thread des Apache-Servers und viele Anforderungen können gleichzeitig ausgeführt werden - Sie müssen über die Parallelität zwischen diesen nachdenken Threads, es nimmt viel Entwicklungszeit in Anspruch und funktioniert nicht immer, da PHP keine Mutex-Mechanismen in der Sprache hat, so dass Sie in keiner Weise kritische Abschnitte erstellen können.
Jetzt etwas zur Entwicklungsgeschwindigkeit: ASP.NET verfügt über zwei Hauptframeworks (Webforms und MVC), die in einer Umgebung installiert sind, in der Sie in PHP ein Open-Source-Framework benötigen. Es gibt kein Standard-Framework in PHP wie in asp.NET.
Die ASP.NET-Sprache ist so umfangreich, dass die Standardbibliothek Lösungen für häufig auftretende Probleme bietet, bei denen die PHP-Standardbibliothek ... nackt ... ist und nicht eine Namenskonvention beibehalten kann.
.NET verfügt über Typen, bei denen PHP dynamisch ist. Dies bedeutet, dass Sie den Quellcode erst dann steuern können, wenn Sie ihn ausführen oder Komponententests schreiben.
.NET hat eine großartige IDE, bei der PHP-IDEs durchschnittlich oder durchschnittlich gut sind (PHPStorm ist immer noch viel schlechter als VS + Resharper oder sogar ohne).
PHP-Gerüste in Symfony werden über die Befehlszeile ausgelöst, wenn ASP.NET-Gerüste in die Umgebung integriert werden.
Wenn Sie einen langsamen Computer wie meinen haben (ein Kern mit 2,2 GHz), kann die Entwicklung von asp.net-Seiten schmerzhaft sein, da Sie Ihr Projekt bei jeder Änderung des Quellcodes neu kompilieren müssen, wobei der PHP-Code sofort aktualisiert wird.
Die Syntax der PHP-Sprache ist im Vergleich zur C # -Syntax so unvollendet, unsicher und nackt. Starke C # -Typen und viele flexible Sprachfunktionen können Ihre Entwicklung beschleunigen und Ihren Code weniger fehlerhaft machen.