¿A qué desafíos nos enfrentaremos al trasladar un sitio de asp.net a una pila de LAMP (php)?

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

  •  03-07-2019
  •  | 
  •  

Pregunta

Tenemos una aplicación empresarial escrita en asp.net c # (3.5) y un servidor SQL que queremos agrupar y lanzar para los clientes.

Sin embargo, varios han expresado su preocupación de que requiera un servidor de Microsoft debido a los costos. Sí, lo sé ... Por lo tanto, estamos considerando portarlo a una pila LAMP, con la " P " refiriéndose a php.

¿Qué desafíos podemos esperar enfrentar en el desarrollo en una pila LAMP proveniente de un entorno de Visual Studio asp.net?

Los temas de los que estoy seguro son:

  1. Depuración: Visual Studio es increíble para la depuración del lado del cliente y del servidor.
  2. Marco: el código detrás del modelo funciona muy bien, y el marco MVC es bueno.
  3. Mantenimiento: nos gustaría que el conjunto de características sea común en ambas plataformas.
  4. Capa de la base de datos: el código está acoplado de manera flexible a los tipos de datos mssql.

Si ha pasado por este emocionante proceso, me encantaría saber cómo fue con algunas recomendaciones / consejos.

Como parte de esto, ¿hay alguna manera de que ejecutemos este código tal como está? ¿Mono? ¿Otros?

¿Fue útil?

Solución

Tengo más experiencia con .NET que las * pilas de AMP, pero según mi experiencia con XAMPP, ofrecería las siguientes observaciones

  1. Depuración: Visual Studio es increíble tanto para la depuración del lado del cliente como del servidor.

    Eclipse PDT funciona muy bien para el diseño, desarrollo y depuración. He escuchado cosas buenas sobre Zend Studio, pero no he trabajado con eso.

  2. Marco: el código detrás del modelo funciona muy bien, y el marco MVC es bueno.

    Existen marcos que le permiten separar la presentación de la lógica (por ejemplo, Smarty ) y en al menos un marco MVC está disponible (por ejemplo, CakePHP )

  3. Mantenimiento: nos gustaría que el conjunto de características sea común en ambas plataformas.

    Si excluye la funcionalidad específica de Windows (Seguridad Integrada de Windows, etc.) no debería haber mucho que no pueda hacer en ambas pilas, pero si tiene que reproducir controles como la vista de cuadrícula ser mano de obra intensiva

  4. Capa de la base de datos: el código está acoplado de manera flexible a los tipos de datos mssql.

    No conozco ningún tipo de datos que no puedan asignarse entre mysql y el servidor sql y existe una buena documentación para manejo de migraciones

Mono puede disminuir la cantidad de tiempo requerido para portar su solución, pero no conozco ninguna forma en que pueda reutilizar todo su código, tal como está " ;.

Otros consejos

Otro IDE de PHP que puedes considerar es NetBeans.

Como desarrollador de .NET, Java y LAMP en un momento u otro, el mayor cambio fue en gran medida cultural. Por ejemplo, PHP tiene un legado de no usar los principios de OO, mientras que ASP .NET comenzó como un lenguaje .NET con soporte completo de OO. Esta diferencia básica lleva a problemas importantes, como las largas listas de palabras clave reservadas de PHP, etc.

Otros marcos MVC:

  • CodeIgniter
  • Kohana
  • Yii

(Acabo de enterarme de Yii. Aquí hay un artículo que los compara.)

Probablemente también haya media docena más por ahí.

yo mismo tengo antecedentes de Asp.net y he estado investigando marcos de código abierto durante los últimos meses. Todavía no he tomado una decisión. Recientemente he estado mirando a Grails. Parece tener lo mejor de ambos mundos: un framework de código abierto de RAD MVC de código abierto, fácil de usar en una plataforma empresarial. Utiliza el lenguaje de secuencias de comandos Groovy (como ruby) pero se ejecuta en la JVM, por lo que puede usar el marco de Java completo si lo desea. hay toneladas de componentes Java preescritos que hay que aprovechar. Esta cosa está muy bien. Sería capaz de portar su aplicación existente con bastante rapidez. Sin embargo, necesitarás un servidor web Tomcat.

si necesita PHP, PHP directo funciona bastante bien, pero la mayoría de los marcos son de bajo rendimiento. Si vas con PHP directo no hay mvc. Estarías usando el modelo tradicional basado en la página. Pero te sentirás más en casa. Puede rodar su propio DAL con DOP y utilizar procedimientos almacenados. Aunque necesitarás un sistema de plantillas. Manténgase alejado de Smarty, que utiliza su propio lenguaje de plantillas. Es lento y ¿por qué necesita aprender un lenguaje de creación de plantillas por separado? Yo nunca entendí eso. Utilice Savant en su lugar: http://phpsavant.com/ . utiliza php para el lenguaje de la plantilla y es rápido. También puede imitar el código subyacente creando una página de plantilla para cada página del sitio. En cuanto a mvc, hay un nuevo marco PHP llamado Yii ( http://www.yiiframework.com/ ) que afirma tener el mejor rendimiento que existe para los marcos php. Está bien documentado también. Probablemente sea el mejor framework php que hay si vienes de .Net. Se siente emprendedor como Zend pero sin el pobre desempeño. La mayoría de los otros son de juguete o muy lentos como Symphony y Cake. Php funciona muy bien con Apache. No hay mucho ajuste o mantenimiento a diferencia de Rails y Django.

A continuación necesitas un IDE. Ir con Netbeans. Use la versión de PHP e instale http://www.xdebug.org/ . Se sentirá inferior a VS pero no está mal.

Para una base de datos, MySql es la opción más atractiva, pero Postgres es superior. Tiene un motor de db que lo hace todo. Con Mysql, algunas características que desea están en InnoDB y otras en MyIsam. Si necesita claves y transacciones externas, debe utilizar InnoDB. Utilice MyIsam para la búsqueda de texto completo y un rendimiento de lectura más rápido. El rendimiento de Postgres se ha mejorado en gran medida con la versión 8 (igual que mysql ahora) y finalmente tiene un instalador de Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top