Welche Herausforderungen begegnen wir portieren einen Standort aus asp.net eine LAMPE (php) stack?

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

  •  03-07-2019
  •  | 
  •  

Frage

Wir haben eine enterprise-Anwendung geschrieben in asp.net c# (3.5) und SQL server, die wir wollen, zu bündeln und release für Kunden.

Aber einige haben Bedenken geäußert, dass es erfordert ein Microsoft-server wegen der Kosten.Ja, ich weiß...Daher überlegen wir, Portierung zu einem LAMP-stack, mit dem "P" bezieht sich auf php.

Welche Herausforderungen können wir erwarten, dass face die Entwicklung auf ein LAMP-stack aus einem Visual Studio asp.net Umwelt?

Die Probleme, die ich bin sicher, sind:

  1. Debugging:Visual Studio ist genial für client-und server-side debugging.
  2. Rahmen:Die code-behind-Modell gut funktioniert, und das MVC-framework ist schön.
  3. Wartung:Wir möchten, dass das feature-set, um gemeinsam auf beiden Plattformen.
  4. Datenbank-layer:Code lose gekoppelt, um die mssql-Daten-Typen.

Wenn Sie mit dieser spannenden Prozess, ich würde gerne wissen, wie es war, mit einigen Empfehlungen/Tipps.

Als eine Seite, ist es eine Möglichkeit für uns, diesen code auszuführen, wie Sie ist?Mono?Andere?

War es hilfreich?

Lösung

ich mehr Erfahrung mit .NET als die * AMP-Stacks haben, aber auf Grund meiner Erfahrung mit XAMPP, würde ich folgende Beobachtungen bieten

  1. Debuggen: Visual Studio ist genial für Client- und Server-Seite Debuggen

    .

    Eclipse PDT funktioniert gut für Design, Entwicklung und Debugging. Ich habe gute Dinge über Zend Studio gehört, aber nicht mit ihm gearbeitet.

  2. Framework: Der Code hinter Modell funktioniert gut, und der MVC-Framework ist schön

    .

    Es Frameworks Sie Präsentation trennen von der Logik zu ermöglichen (zB Smarty ) und mindestens ein MVC-Framework zur Verfügung steht (zB CakePHP )

  3. Wartung. Wir würden die Feature-Set wie auf beiden Plattformen gemeinsam sein

    Wenn Sie Windows-spezifische Funktionalität (Windows Integrated Security usw.) ausschließen es nicht viel sein, sollten Sie kann nicht in beiden Stapeln tun, aber wenn Sie Steuerelemente wie Gridview reproduzieren müssen wird es sein arbeitsintensiv.

  4. Datenbank Schicht:.-Code lose an den MSSQL Datentypen verbunden ist

    Ich bin keine Kenntnis von Datentypen, die nicht zwischen MySQL und SQL Server zugeordnet werden können, und es gibt eine gute Dokumentation Umgang mit Migrationen

Mono könnte die Menge an Zeit, um Ihre Lösung zu Port erforderlich verringern, aber ich bin irgendwie nicht bewusst, Sie könnten wieder verwenden alle Ihre Code „wie es ist“.

Andere Tipps

Eine andere PHP-IDE, die Sie betrachten können, ist NetBeans.

Als .NET, Java, und die LAMP-Entwickler an einem Punkt oder einem anderen, war die größte Veränderung weitgehend kulturell. Zum Beispiel hat PHP ein Vermächtnis von nicht OO Prinzipien verwenden, während ASP .NET als .NET-Sprache mit voller OO Unterstützung begann. Dieser grundlegende Unterschied führt zu erheblichen Problemen wie lange Listen von reservierten Schlüsselwort PHP und so weiter.

Anderes MVC-Frameworks:

  • CodeIgniter
  • Kohana

(Nur etwa Yü herausgefunden haben. Hier ist ein Artikel , die sie vergleicht.)

Es gibt wahrscheinlich ein halbes Dutzend mehr gibt, als auch.

ich habe eine Asp.net hintergrund mir und forschen bereits open-source-frameworks für die letzten paar Monate.Ich habe immer noch nicht aus meinem Kopf.Ich habe seit kurzem looking at Grails.Scheint das beste aus beiden Welten - Skript, einfach zu bedienen, open-source-RAD-MVC-framework auf einem enterprise-Plattform.Es verwendet die Groovy-scripting-Sprache (ruby -like), aber läuft auf der JVM, so dass Sie verwenden können alle Java-framework, wenn Sie möchten.es gibt Tonnen von vordefinierte java-Komponenten zu erschließen.Dieses Ding ist ziemlich cool.Sie wäre in der Lage, Anschluss Ihre bestehende app ziemlich schnell.Benötigen Sie eine Tomcat Webhoster, obwohl.

wenn Sie brauchen, PHP, gerade PHP führt ziemlich gut, aber die meisten frameworks sind schlecht abschneiden.Wenn Sie gerade mit PHP gibt es keine mvc.Wären Sie mit der herkömmlichen Seite basiertes Modell.Aber Sie fühlen sich mehr zu Hause.Können Sie Rollen Sie Ihre eigenen DAL mit PDO und gespeicherte Prozeduren verwenden.Benötigen Sie eine templating-system though.Bleiben Sie Weg von Smarty verwendet eigene templating-Sprache.Es ist langsam und warum müssen Sie lernen eine seprate templating-Sprache.ich habe nie, dass.Verwenden Savant statt: http://phpsavant.com/.es verwendet php für die template-Sprache und ist schnell.Sie können imitieren die code-behind-mit diesem auch durch die Erstellung einer Vorlage Seite für jede Website-Seite.Soweit mvc gibt es eine neue PHP-framework namens Yii (http://www.yiiframework.com/), die behauptet, die beste performance für php-frameworks.Es ist gut dokumentiert zu.Es ist wahrscheinlich das beste php-framework gibt, wenn Sie kommen aus .Net.Fühlt enterprisey wie Zend, aber ohne die schlechten Leistungen.Die meisten anderen sind Spielzeug-ish oder sehr langsam wie Symphony und Kuchen.Php arbeitet mit Apache.Nicht viel tuning oder Wartung im Gegensatz zu Rails und Django.

Als Nächstes müssen Sie eine IDE.Gehen Sie mit Netbeans.Verwenden Sie die PHP-version und installieren http://www.xdebug.org/.Fühlen sich schlechter als VS-aber es ist nicht schlecht.

Für eine DB, MySql ist die sexy Auswahl aber Postgres überlegen ist.Es hat einen db-Motor, der alles tut.Bei Mysql einige Funktionen, die Sie wollen, sind InnoDB und einige sind in MyIsam.Wenn Sie brauchen, Fremdschlüssel und Transaktionen, die Sie verwenden InnoDB.Verwenden Sie MyIsam für die Volltextsuche und schnellere lese-Leistung.Postgres-performance hat sich deutlich imnproved mit der version 8 Version (wie mysql) und hat eine schöne windows installer schließlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top