Подтвердить что ты не робот

ASP.Net MVC или Zend Framework. Каково твое мнение

Я ищу, чтобы начать новый проект, и я пытаюсь решить, с какой структурой работать. Я использую ASP.Net некоторое время и наслаждаюсь этим. Мое первое знакомство с веб-приложениями было с PHP, и я все еще люблю его. Проект должен быть проектом среднего размера, поддерживаемым 1 или 2 разработчиками с потенциалом роста. Единственные плюсы и минусы могут думать о следующем:

ASP.Net MVC Pros

  • Большая поддержка и увеличение сообщества
  • Кажется, будет полнофункциональный

против

  • Получение выделенного сервера будет дорогостоящим.
  • Лицензионная версия SQL Server будет дорогостоящей

Преимущества Zend Framework

  • Также довольно большое сообщество
  • Бесплатно, используя типичную настройку LAMP

против

  • Не как основной
  • Возможные ограничения

Наконец, мне понравилось работать с ASP.Net-концепцией мастер-страниц. Поддерживает ли ASP.Net MVC это и делает Zend Framework что-то подобное. Я думаю, что Zend предлагает что-то, называемое templating, и оно выглядит близко к страницам мастера.

Каково ваше мнение?

4b9b3361

Ответ 1

Я думаю, что ZF больше подходит для этого на основе ваших требований. Концы, которые вы указали в отношении ZF, довольно субъективны, но стоимость ASP.NET является определенной.

Там определенно богатое сообщество, работающее над Zend Framework и его выпуском 1.0, прошло более года назад, поэтому оно стабильно и надежно.

Zend Framework поддерживает двухэтапное представление, в котором шаблон шаблона отображается внутри шаблона макета. Я думаю, что это удовлетворяет вашу потребность в мастер-страницах.

Кажется, у вас одинаковая любовь к PHP и ASP. Если бы я принимал решение, я работал бы с тем, что я наиболее уверенно использую, или которое будет наиболее актуальным для будущего.

Ответ 2

Я пробовал как Zend Framework, так и ASP.NET MVC, и мое впечатление заключается в том, что ASP.NET MVC легче всего разрабатывать. ZF занимает много времени, чтобы учиться, и также требуется слишком много времени (по моему мнению) для настройки. ZF также ограничивает вас во многих случаях, заставляя создавать большие обходные пути для вещей, которые должны быть реализованы по умолчанию в рамках. Многие из библиотек ZF предлагаются также для очень конкретных вариантов использования и их трудно настроить.

В ASP вы можете запустить приложение в кратчайшие сроки. Любые изменения, которые вы хотите внести в настройку по умолчанию, задокументированы. У вас также есть преимущество "реального" языка программирования, такого как С#. Шаблон MVC в сочетании с реальным языком программирования облегчает unit test, особенно хорошо, если вы участвуете в разработке, основанном на тестах. Мой список профилей ASP.NET MVC:

  • Легкая локализация и глобализация с помощью платформы .NET
  • Мастер-страницы гораздо проще в использовании и более гибкие, чем макетная модель в ZF
  • Вы получаете все хорошие вещи от ASP.NET, таких как SiteMap и т.д.
  • Linq
  • Microsoft Entity Framework/NHibernate/ Spring.NET

О стоимости сервера и SQLServer многие хостинговые компании предоставляют выделенные серверы по довольно приличным ценам.

Ответ 3

Просто прошел и увидел это. Как кто-то, кто использовал ASP.Net в течение нескольких лет и Zend Framework в течение нескольких лет (сам PHP в течение многих лет и ASP.Net MVC кратко), я бы определенно выбрал PHP и ZF. Я нашел полную противоположность и не вижу, чтобы кто-нибудь мог найти что-либо в ASP.Net, чтобы быть более гибким. Я думаю, что большинство людей означает "гибкий", так это то, что IDE делает многое из завершения кода, или фреймворк делает все для них. Более поздняя - это полная противоположность гибкости. Честно говоря, ZF может быть слишком гибким. Вот почему документация в то время как обширная, кажется, не охватывает все. Повторное использование с ZF для моих проектов было отключено от диаграмм. Он определенно был лучше, чем простой ASP.Net.

Вероятно, вы найдете те же функции как в большинстве, так и в стандарте MVC и, вероятно, больше в ZF. Библиотека Zend_Db работает так же, как LINQ, и любой динамически типизированный язык победит в доступе к БД (следовательно, причина .Net должна была добавить его для LINQ). ZF также имеет встроенную систему маршрутизации URL-адресов... ничего удивительного в этом .Net MVC. Мастер-страницы обрабатываются системой компоновки в ZF, и, честно говоря, вы могли бы делать мастер-страницы с сырым PHP несколько лет назад. Я не знаю, откуда будут появляться комментарии о "реальном" языке... Проекты PHP и ZF могут быть протестированы на единицу. Я делаю это все время. Если ваши корни не находятся в C/С++, тогда обычно "реальный" язык означает, что он заставляет вас писать код OO. Учитывая любой другой вариант, вы не будете, потому что не знаете, как обеспечить его выполнение самостоятельно.

В заключение проверьте функции как для себя. С годами наблюдения это происходит из первых рук, и я могу сказать вам, что толпа .Net расскажет вам обо всех видах "эксклюзивных".Net-функций, которые проистекают из-за отсутствия фактических знаний о других технологиях и инфраструктурах. По правде говоря, большинство, если не все функции доступны на других платформах... многие из них старше, чем .NET-реализации.

Ответ 4

Если вас беспокоит стоимость лицензии, возможно, вам следует использовать другую базу данных? Достаточно времени PostgreSQL и mySQL.

Ответ 5

Я был разработчиком .Net(С#, VB.Net, Asp.Net) за последние 8 лет и разработал несколько веб-приложений. Для моего последнего проекта мне пришлось отключить свои навыки PHP. Клиент предпочел полностью открытую исходную платформу. Я решил использовать PHP + Zend Framework + mySql на сервере Linux. Кривая обучения крутая в начале, но как только вы заберете навыки, вы получите очень быстро и результативно.

Ответ 6

Да, вы можете иметь мастер-страницы для своих представлений в ASP.NET MVC Framework, он работает почти так же, как и в Webforms.

Ответ 7

Я не понимаю, почему люди перечисляют минусы в .NET, что MSSQL дорого..NET имеет MYSQL API, который поддерживает MYSQL и другие базы данных.

Ответ 8

Если вы планируете вести бизнес, взгляните на Microsoft Empower и BizSpark. Они могут помочь вам с расходами на лицензирование, пока ваш бизнес не сможет встать на ноги.

Ответ 9

Я работаю как профессионально, так и создавая приложения уровня предприятия. Оба подхода полностью действительны, поддерживаются, документируются и хорошо реализуются с опытным разработчиком.

Что хорошо с .NET в целом, так это то, что у вас есть комплексное комплексное решение. От Visual Studio до IIS до SQL Server и когда-либо между ними, все это создавалось одной компанией для совместной работы. У вас также есть довольно выдающаяся производительность на компилированном языке и массивная структура, интегрированная во всю систему доставки.

PHP - это язык с плохой репутацией из того, что кажется большим количеством слабых разработчиков. Это огромное сообщество с разработчиками совершенно разных уровней квалификации. Это также не помогает, что это довольно неверно настроенное сообщество с большим количеством вилок в дизайне, чем ваш кухонный ящик. Множество разных фреймворков, много разных cms, а некоторые действительно раздуты и медленны. Zend Framework, безусловно, достойна работы, и мне нравится программировать с ней. ZF2 теперь отключен, что, похоже, приближается к более прогрессивным конкурентам на арене OS, например, рельсы и Django, хотя строительные леса по-прежнему кажутся вопиющей функцией MIA (хотя и доступной в Yii) для тех, кто не хочет на самом деле но просто быстро автоматически создавайте функциональность CRUD.

В целом вы можете создавать отличные сайты с обоими. Я думаю, что С#.NET MVC с Razor станет отличным вариантом, если вы хотите научиться "правильному пути" делать что-то, и у вас нет опыта работы в MVC и написании СУХОГО кода. Однако, если вы опытный разработчик и знаете, что делаете, вы можете сделать то же самое в PHP (что позволяет плохим программистам успешно уйти с абсолютно ужасным кодом).

Ответ 10

Во-первых, я рекомендую не использовать PHP, но лучше использовать язык Python. Вы кодируете меньше, быстрее, стабильнее и с меньшими проблемами обслуживания. В настоящее время я использую Pylons-Framework и очень доволен этим.

В любом случае, если вы хотите остаться с PHP, это зависит от того, насколько вы гибки, а что означает, насколько рамки будут делать для вас. Недавно я столкнулся с проблемой проблем с использованием CodeIgniter, которая представляет собой быструю и легкую структуру, которая делает, ehm, не так много для вас, а только "фрейм". Существует вилка под названием "Кохана", которая является бесспорным относительно лицензирования, но плохо документирована.

Zend ist очень мощный, но сложный - что больше похоже на PHP, чем на Zend-проблему.

Symfony также является мощным и полным. Он полностью получен из Ruby on Rails, и у меня никогда не было PHP-проекта, где я использовал все функции Symfony. У него действительно красивые леса.

Из всех PHP-Framework, которые я пробовал, мне понравился CakePHP больше всего. Это похоже на средний уровень сложности и простой в использовании подход.

Все серьезные PHP-Framework поддерживают стандартные приложения, такие как шаблонирование, моделирование и кэширование.

Ответ 11

Как разработчик, я думаю, что это больше abp asp.net и php. Я знаю asp.net больше, чем php, поэтому я предлагаю asp.net. Также вы не можете иметь силу linq с php, что является очень большим преимуществом.

Zend существует здесь с некоторого времени, Asp.net MVC по-прежнему нова. Я видел, что многие разработчики более удобны с традиционными методами, чем MVC.

MS имеет открытый MVC с открытым исходным кодом, поэтому его сообщество наверняка будет расти.

Ответ 12

* Getting a dedicated server will be expensive.

что вы подразумеваете под выделенным сервером? Вы должны размещать любой сайт, используете ли вы ASP.NET MVC или PHP + Zend framework.

* A licensed version of SQL Server will be expensive

В зависимости от размера вашей базы данных вы можете использовать бесплатную версию sql express из Microsoft или MYSQL. ASP.NET MVC работает с любой базой данных под капотом.

Кроме того, мне не нравится, как вы должны использовать всю вещь "_" для обозначения Zend/File как Zend_File. Что с этим? ASP.NET MVC хорошо разработан и имеет открытый исходный код и имеет встроенную систему маршрутизации URL.

Ответ 13

Я также решаю между 2 + Ruby on Rails...

Я использую Zend Framework 1.8.2 и люблю его (начал abt ~ 3 м. назад). его кривая обучения крутая. но теперь мне это очень нравится. кроме MVC у него есть Zend_Forms, что позволяет мне даже отделить логику ввода и валидацию с хорошо.

templating достигается через Zend_Layouts и Zend_View. Я не знаю, как изменить макеты (теперь у меня есть весь сайт, используя тот же макет...), но я думаю, что это возможно.

но после Zend Framework какое-то время я знаю, что это сложно, и теперь изучает, есть ли у них какие-то лучшие фреймворки.. поэтому ASP.NET MVC и Ruby on Rails

Первое впечатление на ASP.NET MVC в порядке, возможно, нужно знать, как они делают формы и валидацию. кроме этого... я чувствую, что LINQ GREAT!

для Ruby on Rails мне нравится автогенерация моделей и форм одновременно. ускоряйте все, но вам нужно знать, будет ли легко настраиваться автоматическая сгенерированная форма. наблюдал за скринкастом на официальном сайте, и включение AJAX кажется легким.

Ответ 14

Если вы собираетесь использовать PHP, я бы попробовал другую фреймворк, мне не очень понравилась структура Zend. Почему бы не попробовать CakePHP?

Есть много фреймворков PHP-MVC лучше, чем Zend.

Отметьте http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks

Ответ 15

Выделенный сервер МОЖЕТ стоить еще $10 для платформы Windows. Мог бы. И вы можете получить хорошие предложения для хостинга с MSSQL Server. И вам нужен выделенный сервер для начала? Удачи вам в проекте, хотя!

Ответ 16

Я работаю над .net на 3 года. .net имеет некоторые недостатки, такие как дорогостоящая стоимость базы данных и хоста. Но вы можете использовать ms sql express, который имеет бесплатную лицензию. Проблема с .net такова: у него нет активного сообщества, такого как php, что так важно! В течение многих лет у меня была эта проблема, когда мне нужен был компонент, мне приходилось много искать для бесплатной версии компонента. Однако в php все бесплатно! Но в целом я думаю, что разработка программного обеспечения в .net происходит быстрее и проще, потому что когда вы кодирования и проектирования, это VS, который делает для вас большинство вещей. И особенно кодирование в .net держит вас подальше от большинства деталей, потому что у него очень хорошая абстракция.

Ответ 17

По моему опыту, ZF не сложно изучить, особенно если вы понимаете MVC/ROR. CakePHP больше похож на ROR, но подходит только для небольших веб-сайтов.

Вы можете взглянуть на "Быстрый быстрый стартер для ZF New Guys": http://blog.sunnyboy.me/2013/05/20/14848/

Ответ 18

Выберите Symfony и используйте ZF-компоненты внутри него. Sf имеет потрясающую документацию для чтения, богатые возможности сообщества+. Sf просто внедряет в него множество инструментов с открытым исходным кодом, таких как Twig, Doctrine, Unit Testing, Инструменты оптимизации активов (Uglify JS, YUI-компрессор), Swiftmailer, Monolog...