Я ищу, чтобы начать новый проект, и я пытаюсь решить, с какой структурой работать. Я использую ASP.Net некоторое время и наслаждаюсь этим. Мое первое знакомство с веб-приложениями было с PHP, и я все еще люблю его. Проект должен быть проектом среднего размера, поддерживаемым 1 или 2 разработчиками с потенциалом роста. Единственные плюсы и минусы могут думать о следующем:
ASP.Net MVC Pros
Cons
Преимущества Zend Framework
Cons
Наконец, мне понравилось работать с концепцией ASP.NET на главных страницах. Поддерживает ли ASP.Net MVC это и делает Zend Framework что-то подобное. Я думаю, что Zend предлагает что-то, называемое templating, и похоже на Master pages.
Каково твое мнение?
Я думаю, что ZF больше подходит для этого на основе ваших требований. Концы, которые вы указали в отношении ZF, довольно субъективны, но стоимость ASP.NET является определенной.
Там определенно богатое сообщество, работающее над Zend Framework, и его выпуск 1.0 вышел более года назад, поэтому он стабильный и надежный.
Zend Framework поддерживает двухэтапное представление, в котором шаблон шаблона отображается внутри шаблона макета. Я думаю, что это удовлетворяет вашу потребность в мастер-страницах.
Кажется, у вас одинаковая любовь к PHP и ASP. Если бы я принимал решение, я бы работал с тем, что я наиболее уверенно использую, или которое было бы наиболее актуальным для будущего.
Я пробовал как Zend Framework, так и ASP.NET MVC, и мое впечатление заключается в том, что ASP.NET MVC легче всего разрабатывать. ZF занимает много времени, чтобы учиться, и также требуется слишком много времени (по моему мнению) для настройки. ZF также ограничивает вас во многих случаях, заставляя создавать большие обходные пути для вещей, которые должны быть реализованы по умолчанию в рамках. Многие из библиотек ZF предлагаются также для очень конкретных случаев использования и их трудно настроить.
С ASP вы можете запустить приложение в кратчайшие сроки. Любые изменения, которые вы хотите внести в настройку по умолчанию, задокументированы. У вас также есть преимущество «реального» языка программирования, такого как C #. Шаблон MVC в сочетании с реальным языком программирования упрощает модульный тест, особенно хорошо, если вы участвуете в разработке тестов. Мой список профилей ASP.NET MVC:
О стоимости сервера и SQLServer многие хостинговые компании предоставляют выделенные серверы по довольно приличным ценам.
Просто прошел и увидел это. Как кто-то, кто использовал 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 / C ++, тогда обычно «реальный» язык означает, что он заставляет вас писать код OO. Учитывая любой другой вариант, вы не будете, потому что не знаете, как обеспечить его выполнение самостоятельно.
В заключение проверьте функции как для себя. С годами наблюдения это происходит из первых рук, и я могу сказать вам, что толпа .Net расскажет вам обо всех видах «эксклюзивных» .Net-функций, которые проистекают из-за отсутствия фактических знаний о других технологиях и инфраструктурах. По правде говоря, большинство, если не все функции доступны на других платформах … многие из них старше, чем .NET-реализации.
Если вас беспокоит стоимость лицензии, возможно, вы должны использовать другую базу данных? Достаточно времени PostgreSQL и mySQL.
Я был разработчиком .Net (C #, VB.Net, Asp.Net) за последние 8 лет и разработал несколько веб-приложений. Для моего последнего проекта мне пришлось отключить свои навыки PHP. Клиент предпочел полностью открытую исходную платформу. Я решил использовать PHP + Zend Framework + mySql на сервере Linux. Кривая обучения крутая в начале, но как только вы заберете навыки, вы получите очень быстро и продуктивно.
Да, у вас также есть мастер-страницы для ваших представлений в ASP.NET MVC Framework, она работает почти так же, как и в Webforms.
Я не понимаю, почему люди перечисляют минусы в .NET, что MSSQL дорого. .NET имеет MYSQL API, который поддерживает MYSQL и другие базы данных.
Если вы планируете заниматься бизнесом, взгляните на программы Microsoft Empower и BizSpark . Они могут помочь вам с расходами на лицензирование, пока ваш бизнес не сможет встать на ноги.
Я работаю как профессионально, так и создавая приложения уровня предприятия. Оба подхода полностью действительны, поддерживаются, документируются и хорошо реализуются с опытным разработчиком.
Что хорошо с .NET в целом, так это то, что у вас есть комплексное комплексное решение. От Visual Studio до IIS на SQL Server и когда-либо между ними, все это создается одной компанией для совместной работы. У вас также есть довольно выдающаяся производительность на компилированном языке и массивная структура, интегрированная во всю систему доставки.
PHP – это язык с плохой репутацией из того, что кажется большим количеством бедных разработчиков. Это огромное сообщество с разработчиками совершенно разных уровней квалификации. Это также не помогает, что это довольно неверно настроенное сообщество с большим количеством вилок в дизайне, чем ваш кухонный ящик. Множество разных фреймворков, много разных cms, а некоторые действительно раздуты и медленны. Zend Framework, безусловно, достойна работы, и мне нравится программировать с ней. ZF2 теперь отключен, что, похоже, приближается к более прогрессивным конкурентам на арене OS, например, рельсы и Django, хотя строительные леса по-прежнему кажутся вопиющей функцией MIA (хотя и доступной в Yii) для тех, кто не хочет на самом деле но просто быстро автоматически создают CRUD-функциональность.
В целом вы можете создавать отличные сайты с обоими. Я думаю, что C # .NET MVC с Razor станет отличным вариантом, если вы хотите научиться «правильному пути» делать что-то, и у вас нет опыта работы в MVC и написании СУХОГО кода. Однако, если вы опытный разработчик и знаете, что делаете, вы можете сделать то же самое в PHP (что позволяет плохим программистам успешно уйти с абсолютно ужасным кодом).
Сначала я рекомендую не использовать PHP, но лучше использовать язык Python. Вы кодируете меньше, быстрее, стабильнее и с меньшими проблемами обслуживания. В настоящее время я использую Pylons-Framework и очень доволен этим.
Во всяком случае, если вы хотите остаться с PHP, это зависит от того, насколько вы гибки, а что значит, насколько каркас будет делать для вас. Недавно я столкнулся с проблемой проблем с использованием CodeIgniter, которая представляет собой быструю и легкую структуру, которая делает, ehm, не так много для вас, а только «фрейм». Существует вилка под названием «Кохана», которая является бесспорным относительно лицензирования, но плохо документирована.
Zend ist очень мощный, но сложный – что, скорее, PHP, чем Zend-проблема.
Symfony также является мощным и полным. Он полностью получен из Ruby on Rails, и у меня никогда не было PHP-проекта, где я использовал все функции Symfony. У этого есть действительно красивые леса.
Из всех PHP-Framework, которые я пробовал, мне понравился CakePHP больше всего. Это похоже на средний уровень сложности и простой в использовании подход.
Все серьезные PHP-Framework поддерживают стандартные приложения, такие как шаблонирование, моделирование и кэширование.
Как разработчик, я думаю, что это больше abp asp.net и php. Я знаю asp.net больше, чем php, поэтому я предлагаю asp.net. Также вы не можете иметь силу linq с php, что является очень большим преимуществом.
Zend был здесь с некоторого времени, Asp.net MVC все еще новенький. Я видел, что многие разработчики более удобны с традиционными методами, чем MVC.
MS имеет открытый MVC, поэтому его сообщество будет расти наверняка.
* 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.
Я также решаю между 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 кажется легким.
Если вы собираетесь на PHP, я бы попробовал другую фреймворк, мне не очень понравилась структура Zend. Почему бы не попробовать CakePHP?
Есть много фреймворков PHP-MVC лучше, чем Zend.
Проверьте это http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks
Выделенный сервер МОЖЕТ стоить еще $ 10 для платформы Windows. Мог бы. И вы можете получить хорошие предложения для хостинга с MSSQL Server. И вам нужен выделенный сервер для начала? Удачи вам в проекте!
Я работаю над .net на 3 года. .net имеет некоторые недостатки, такие как дорогостоящая стоимость базы данных и хоста. Но вы можете использовать ms sql express, который имеет бесплатную лицензию. Проблема с .net такова: у него нет активного сообщества, такого как php, что так важно! В течение многих лет у меня была эта проблема, когда мне нужен компонент, мне пришлось много искать бесплатную версию компонента. Однако в php все бесплатно! Но в целом я думаю, что разработка программного обеспечения в .net происходит быстрее и проще, потому что, когда вы кодируете и проектируете, это VS, который делает для вас большинство вещей. И особенно кодирование в .net держит вас подальше от большинства деталей, потому что у него очень хорошая абстракция.
По моему опыту, ZF не сложно изучить, особенно если вы понимаете MVC / ROR. CakePHP больше похож на ROR, но подходит только для небольших веб-сайтов.
Вы можете взглянуть на «Basic Quick Starter для ZF New Guys»: http://blog.sunnyboy.me/2013/05/20/14848/
Выберите Symfony и используйте ZF-компоненты внутри него. Sf имеет потрясающую документацию для чтения, богатые возможности сообщества +. Sf просто внедряет в него множество инструментов с открытым исходным кодом, таких как Twig, Doctrine, Unit Testing, Инструменты оптимизации активов (Uglify JS, YUI-компрессор), Swiftmailer, Monolog …