Quais são os desafios que vamos enfrentar portar um site asp.net a um LAMP (PHP) pilha?

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

  •  03-07-2019
  •  | 
  •  

Pergunta

Nós temos um aplicativo corporativo escrito em asp.net c # (3.5) e do servidor SQL que queremos agrupar e liberar para os clientes.

No entanto, vários têm expressado preocupações de que requer um servidor Microsoft devido aos custos. Sim, eu sei ... Portanto, estamos considerando portá-la para uma pilha LAMP, com o "P" referindo-se php.

Que desafios podemos esperar rosto desenvolver em uma pilha LAMP vindo de um ambiente asp.net Visual Studio?

Os problemas que eu tenho certeza são:

  1. Depuração:. Visual Studio é impressionante para o cliente e do lado do servidor de depuração
  2. quadro: Não. O código por trás modelo funciona muito bem, e o framework MVC é bom
  3. Manutenção:. Gostaríamos que o conjunto de recursos a ser comum em ambas as plataformas
  4. camada de banco de dados:. Código é fracamente acoplada aos tipos de dados MSSQL

Se você já passou por esse processo emocionante, eu adoraria saber o que era como com algumas recomendações / sugestões.

Como um lado para isso, existe alguma maneira para nós para executar esse código como está? Mono? Outros?

Foi útil?

Solução

Eu tenho mais experiência com .NET do que as pilhas * AMP, mas com base na minha experiência com XAMPP, gostaria de oferecer as seguintes observações

  1. Depuração:. Visual Studio é impressionante para o cliente e do lado do servidor de depuração

    Eclipse PDT funciona muito bem para o projeto, desenvolvimento e depuração. Eu já ouvi coisas boas sobre Zend Studio, mas não têm trabalhado com ele.

  2. quadro: Não. O código por trás modelo funciona muito bem, e o framework MVC é bom

    Existem estruturas que lhe permitem apresentação separada da lógica (por exemplo Smarty ) e pelo menos um framework MVC está disponível (por exemplo CakePHP )

  3. Manutenção:. Gostaríamos que o conjunto de recursos a ser comum em ambas as plataformas

    Se você excluir a funcionalidade do Windows específico (Segurança Integrada do Windows, etc) não deve haver muito que você não pode fazer em ambas as pilhas, mas se você tiver para reproduzir controles como o gridview que vai ser trabalho intensivo.

  4. camada de banco de dados:. Código é fracamente acoplada aos tipos de dados MSSQL

    Não tenho conhecimento de quaisquer tipos de dados que não podem ser mapeadas entre mysql e sql server e há uma boa documentação para manipulação migrações

Mono pode diminuir a quantidade de tempo necessário para a porta a sua solução, mas não tenho conhecimento de qualquer maneira que você poderia voltar a usar todo o seu código "tal como está".

Outras dicas

Outra PHP IDE que você pode considerar é NetBeans.

Como .NET, Java, e desenvolvedor LAMP em um ponto ou outro, a maior mudança foi em grande parte cultural. Por exemplo, PHP tem um legado de não usar princípios OO enquanto ASP .NET começou como uma linguagem .NET com suporte OO completo. Este básicos leads diferença para questões importantes, tais como longas listas de palavras-chave reservadas e assim por diante do PHP.

Outros frameworks MVC:

  • CodeIgniter
  • Kohana
  • Yii

(só descobri sobre Yii. Aqui está um artigo que lhes compara.)

Há provavelmente uma meia dúzia mais lá fora, também.

eu tenho um fundo Asp.net mim e tenho pesquisado estruturas de código aberto para os últimos meses. Eu ainda não fiz a minha mente. Eu estive recentemente olhando para Grails. Parece ter o melhor dos dois mundos - um roteiro, fácil de usar, open source framework RAD MVC em uma plataforma corporativa. Ele usa a linguagem de script Groovy (rubi -como), mas é executado na JVM para que você possa usar framework Java completo, se quiser. há toneladas de componentes Java pré-escritas para fora lá para bater. Esta coisa é muito legal. você seria capaz de portar seu aplicativo existente muito rapidamente. Você precisará de um Tomcat hospedagem embora.

se você precisar de PHP, executa PHP retas muito bem, mas a maioria dos quadros são artistas pobres. Se ir com PHP em linha reta não há MVC. Você estaria usando o modelo baseado página tradicional. Mas você vai se sentir mais em casa. Você pode lançar seu próprio DAL com DOP e utilizar procedimentos armazenados. Você vai precisar de um sistema de templates embora. Fique longe de Smarty que utiliza a sua própria linguagem de templates. É lento e por que você precisa para aprender uma língua seprate de templates. i nunca teve isso. Use Savant vez: http://phpsavant.com/ . ele usa php para a linguagem modelo e é rápido. Você pode imitar code-behind com isso, também através da criação de uma página modelo para cada página do site. Tanto quanto MVC há um novo framework PHP chamada Yii ( http://www.yiiframework.com/ ) que alega ter o melhor desempenho lá fora, para frameworks PHP. É bem documentado também. É provavelmente o melhor quadro php lá fora, se você está vindo de .Net. Sente enterprisey como Zend, mas sem o mau desempenho. A maioria dos outros são brinquedo-ish ou muito lento como Symphony e bolo. Php funciona muito bem com Apache. Não um monte de ajuste ou manutenção ao contrário Rails e Django.

Em seguida, você precisa de uma IDE. Vá com Netbeans. Use a versão PHP e instalar http://www.xdebug.org/ . Vai se sentir inferior a VS, mas não é ruim.

Para um DB, MySql é a sexy escolha mas Postgres é superior. Ele tem um motor db que faz tudo. Com Mysql, algumas características que você quer está em InnoDB e alguns estão em MyISAM. Se você precisa de chaves estrangeiras e transações você tem que usar InnoDB. Use myisam para pesquisa de texto completo e um desempenho mais rápido ler. desempenho Postgres tem muito imnproved com o lançamento da versão 8 (o mesmo que mysql agora) e tem um nice janelas instalador finalmente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top