Оптимизация стратегий разработки веб-приложений


Многие веб-приложения в наши дни используют API или код, с которыми они сами не работали, и довольно часто используют их неэффективно. На ум приходят некоторые мэшапы карт Google.

С бэкендами php/asp, HTML, javascript (особенно со всеми AJAX в наши дни) - существует так много потенциальных узких мест, проблем, неэффективности и двойных решений.

Какие стратегии вы можете предложить для расследования, выявления и устранения замедлений, избыточного кода, утечек и другие проблемы в веб-приложениях - как на стороне сервера, так и в браузере на стороне клиента?

Author: Mark Mayo, 2010-12-02

2 answers

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

[...] расследование, выявление и устранение замедлений, избыточного кода, утечек и других проблем в веб-приложениях - оба серверная часть[...]

Для конкретной разработки PHP, посмотрите на:

Анализатор кода PHP

PHP АСТ

PHP Сб

PHP Зависит

PHP Ворсинка

График вызовов PHP

Xdebug-ошибка

[...] и в браузере на стороне клиента?

Для отладки на стороне клиента посмотрите в:

JSLint

Поджигатель

Излоу

Опера - Стрекоза

WebKit (Браузеры Safari/Chrome) - Веб-инспектор

IE - Отладчик сценариев Microsoft

Для получения помощи в "замедлении" загляните в кэширование, либо используя

Ob_start (например, ob_start('ob_gzhandler');) и ob_end_flush-запуск

Этаги

. сжатие htaccess, также здесь

Кэширование памяти PHP

Вы также можете использовать:

CSS-спрайты

Уменьшенные HTTP-запросы

Уменьшенный CSS и JS

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

 8
Author: SW4, 2010-12-02 10:51:30

Это отличное место для начала и сослужило мне хорошую службу:

Http://stevesouders.com/hpws/rules.php

Кроме того, вышеупомянутая скорость просмотра страниц является обязательной.

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

 1
Author: Raskolnikov, 2010-12-12 09:06:09