Переписывание пользовательского приложения PHP на платформе.Разрывается между Python (Django) и PHP (CodeIgniter) - PullRequest
0 голосов
/ 31 июля 2011

Я думал о том, чтобы переписать свое собственное PHP-приложение на платформе ... главным образом для обеспечения большей прочности и простоты роста в будущем.Прямо сейчас это псевдо-MVC-установка с большим количеством хаков между ними.

У меня уже есть встроенная база данных, и приложение также использует много AJAX.

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

Мой друг (и энтузиаст Python) рассказал мне о том, как Python рендерит данные табличного типа почти на 40% больше, чем PHP, и скорость определенно влияет на принятие решений.

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

Я знаю, что существует множество историй о PHP и Python.Кажется, что Python - явный победитель, но насколько легко его использовать со стандартными веб-материалами, такими как AJAX?

Я просто хочу знать, кто из них будет использовать, и почему, а не против других.

Ответы [ 2 ]

0 голосов
/ 31 июля 2011

Согласно языковой тестовой игре, Python не так уж и впереди.

Конечно, они сравнивают очень специфические алгоритмы и структуры данных.Они имеют отношение к вашему заявлению?Возможно нет.К тому же, хотя Python имеет библиотеку для табличных данных , это действительно принесет пользу вашему приложению?Вероятно, нет.

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

Сказать, что приложение медленное, просто недостаточно конкретно, и простая миграция на другой язык неизбежно приведет к возникновению тех же проблем.Мой совет, если вы хотите провести рефакторинг своего приложения - путем его повторной реализации с использованием фреймворка или чего-то еще - сначала подумайте о надежности и простоте роста, как вы заявили.Оптимизация проходит долгий путь, после того, как приложение переписано и работает, и после того, как профилирование выявит конкретные проблемы.

Что касается того, какой язык предлагает лучшие товары, ни один из них не может быть объявлен абсолютным победителем.Оба языка управляются памятью (эта функция уменьшает время разработки), динамически и слабо типизированы, поддерживают ООП, имеют множество библиотек и много документации, а также множество других сходств.Не поддавайтесь искушению использовать язык, основанный на аргументе, что он просто лучше, или люди говорят, что это то, что используют настоящие разработчики - PHP часто бывает трудно, но давайте скажем, что это из любви.Выберите язык, который всегда был вам верен, или, если вам позволено быть рискованным, выберите язык, который вас волнует.

0 голосов
/ 31 июля 2011

Какой язык вы предпочитаете? Это все, что действительно имеет значение. Оба имеют прочные рамки и аналогичную производительность. Если вы хотите повысить производительность, написание более эффективного кода будет иметь гораздо большее значение.

Лично мне нравится питон. Джанго великолепен, но вы также можете рассмотреть Flask или Pyramid / Pylons. Ajax так же прост с Python, как и с PHP - это всего лишь запрос. Конфигурация сервера определенно сложнее - он не становится проще, чем PHP - но это не , что сложно, и вы сказали, что не против. Если вам нравятся оба языка одинаково, попробуйте Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...