С какими проблемами мы столкнемся при переносе сайта с asp.net на стек LAMP (php)?

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

  •  03-07-2019
  •  | 
  •  

Вопрос

У нас есть корпоративное приложение, написанное на asp.net C# (3.5) и SQL-сервере, которое мы хотим объединить и выпустить для клиентов.

Однако некоторые выразили обеспокоенность тем, что это требует сервер Microsoft из-за затрат.Да, я знаю...Поэтому мы рассматриваем возможность портирования его на стек LAMP, где буква «P» относится к php.

С какими проблемами мы можем столкнуться при разработке стека LAMP из среды Visual Studio asp.net?

Проблемы, в которых я уверен:

  1. Отладка:Visual Studio отлично подходит для отладки как на стороне клиента, так и на стороне сервера.
  2. Рамки:Код модели работает отлично, а инфраструктура MVC хороша.
  3. Обслуживание:Нам бы хотелось, чтобы набор функций был общим на обеих платформах.
  4. Уровень базы данных:Код слабо связан с типами данных mssql.

Если вы прошли через этот захватывающий процесс, мне бы хотелось узнать, на что он был похож, и дать некоторые рекомендации/советы.

Кроме того, есть ли способ запустить этот код как есть?Мононуклеоз?Другие?

Это было полезно?

Решение

У меня больше опыта работы с .NET, чем у стеков * AMP, но исходя из моего опыта работы с XAMPP, я бы предложил следующие наблюдения

<Ол>
  • Отладка: Visual Studio отлично подходит как для отладки на стороне клиента, так и на стороне сервера.

    Eclipse PDT отлично подходит для проектирования, разработки и отладки. Я слышал хорошие вещи о Zend Studio, но не работал с ним.

  • Framework. Код, лежащий в основе модели, прекрасно работает, а инфраструктура MVC хороша.

    Существуют платформы, позволяющие отделить презентацию от логики (например, Smarty ) и на доступна как минимум одна структура MVC (например, CakePHP )

  • Обслуживание. Нам бы хотелось, чтобы набор функций был общим на обеих платформах.

    Если вы исключите специфическую функциональность Windows (встроенную безопасность Windows и т. д.), в обоих стеках не должно быть ничего, что вы не можете сделать, но если вам придется воспроизводить элементы управления, такие как вид сетки, это будет быть трудоемким.

  • Уровень базы данных: код слабо связан с типами данных mssql.

    Мне неизвестны какие-либо типы данных, которые не могут быть сопоставлены между MySQL и SQL Server, и есть хорошая документация для обработка миграций

  • Mono может сократить время, необходимое для переноса вашего решения, но я не знаю, как вы можете повторно использовать весь свой код "как есть".

    Другие советы

    Еще одна PHP IDE, которую вы можете рассмотреть, - NetBeans.

    Как разработчик .NET, Java и LAMP, в тот или иной момент самое большое изменение было в значительной степени культурным. Например, PHP имеет наследие неиспользования принципов OO, тогда как ASP .NET начинался как язык .NET с полной поддержкой OO. Это основное различие приводит к значительным проблемам, таким как длинные списки зарезервированных ключевых слов в PHP и т. Д.

    Другие фреймворки MVC:

    • КодИгнитер
    • Кохана
    • Юи

    (Только что узнал о Yii. Вот статья это их сравнивает.)

    Вероятно, есть еще полдюжины.

    У меня есть опыт работы с Asp.net, и я исследую фреймворки с открытым исходным кодом в течение последних нескольких месяцев. Я до сих пор не решил. Я недавно смотрел на Grails. Кажется, у них есть лучшее из обоих миров - скриптовая, простая в использовании среда RAD MVC с открытым исходным кодом на корпоративной платформе. Он использует язык сценариев Groovy (похожий на ruby), но работает на JVM, так что вы можете использовать полную среду Java, если хотите. есть множество заранее написанных Java-компонентов, к которым можно подключиться. Эта вещь довольно крутая. Вы сможете довольно быстро перенести существующее приложение. Вам понадобится хостинг Tomcat.

    если вам нужен PHP, прямой PHP работает довольно хорошо, но большинство фреймворков плохо работают. Если идти с прямым PHP, нет MVC. Вы будете использовать традиционную модель на основе страниц. Но вы будете чувствовать себя как дома. Вы можете свернуть свой DAL с помощью PDO и использовать хранимые процедуры. Вам понадобится система шаблонов, хотя. Держитесь подальше от Smarty, который использует собственный язык шаблонов. Это медленно и зачем вам нужно изучать отдельный шаблонный язык. Я никогда не получал это. Вместо этого используйте Savant: http://phpsavant.com/ . он использует php для языка шаблонов и работает быстро. Вы также можете имитировать выделение кода, создавая шаблон страницы для каждой страницы сайта. Что касается MVC, есть новая PHP-инфраструктура под названием Yii ( http://www.yiiframework.com/ ). который утверждает, что имеет лучшую производительность там для фреймворков php. Это также хорошо задокументировано. Вероятно, это лучший фреймворк для PHP, если вы пришли из .Net. Чувствует себя предприимчивым, как Zend, но без плохой работы. Большинство других игрушечны или очень медленны, как Symphony и Cake. Php отлично работает с Apache. Не так много тюнинга или обслуживания в отличие от Rails и Django.

    Далее вам нужна IDE. Иди с Netbeans. Используйте версию PHP и установите http://www.xdebug.org/ . Будет чувствовать себя хуже, чем VS, но это не плохо.

    Для БД MySql - привлекательный выбор, но Postgres лучше. У этого есть один двигатель db, который делает все это. В Mysql некоторые нужные вам функции находятся в InnoDB, а некоторые - в MyIsam. Если вам нужны внешние ключи и транзакции, вы должны использовать InnoDB. Используйте MyIsam для полнотекстового поиска и повышения скорости чтения. Производительность Postgres значительно улучшилась с выпуском 8-й версии (так же, как и теперь mysql) и, наконец, имеет хороший установщик Windows.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top