Обзор PHP редакторов

Спонсор поста: ICQ для мобильных устройств jimm

php редактор Даже, если вы не программист, то все равно, рано или поздно, у вас возникнет необходимость в редактировании исходного кода (конечно, если у вас есть сайт или блог). Конечно, исправить пару строк можно и в Notepad, но гораздо удобнее это делать в специализированных редакторах.

Используя WordPress и PHP для своих целей, я постоянно сталкиваюсь с проблемами, с которыми разработчикам на платформе .NET сталкиваться не приходится. Одной из таких проблем является выбор редактора исходных текстов для языка, на котором создается приложение. Для разработчиков на платформе .NET такой проблемы выбора не стоит, т.к. IDE Microsoft Visual Studio является отличной средой для разработки приложений и достойных альтернатив этому средству разработки практически нет. А наличие бесплатной express версии позволяет использовать эту среду даже безденежным противникам пиратского ПО.

Совсем другая картина в мире PHP. Здесь нет фаворита среди редакторов или IDE, а среди решений существует множество как бесплатных, так и платных. В этом мини обзоре я расскажу о тех редакторах, с которыми я попробовал поработать.

Читать дальше...

Permalink | Комментарии (5) | Post RSSRSS comment feed

Программирование на PHP и WordPress для начинающих

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

В процессе разбирательства с PHP и написанием плагинов, нашел полезные ресурсы, которыми хочу поделиться с читателями, думаю многим пригодится.

Читать дальше...

Permalink | Комментарии (6) | Post RSSRSS comment feed

Советы по .NET Framework

Недавно я обнаружил англоязычный блог .NET Tip of The Day, в котором публикуются довольно полезные советы для программистов на .NET Framework.

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

Читать дальше...

Permalink | Комментарии (2) | Post RSSRSS comment feed

Оптимизация тегов в BlogEngine.NET

В этом посте рассказывается об оптимизаци вида ссылок в облаке тегов в блоге на движке BlogEngine.NET. Поскольку пост получился немного длинный и интересен, в основном, только владельцам блогов на этом движке, остальной текст убран под cut.

Читать дальше...

Permalink | Комментарии (12) | Post RSSRSS comment feed

Отладка приложений с использованием исходного кода .NET Framework Library

В прошлом году Microsoft обещала, что с выходом Visual Studio 2008 будет открыт доступ к исходному коду .NET Framework Library с возможностью отладки приложений. Теперь, это стало, действительно, возможно. Подробные инструкции, как все настроить, читайте на блоге Shawn Burke.

Качать сразу все исходники не придется - студия сама подгрузит и закеширует нужную сборку (но необходимо постоянное соединение с Интернет).

Конечно, можно было и раньше смотреть исходный код фреймворка при помощи замечательной утилиты .NET Reflector, но возможность отладки непосредственно из Visual Studio упростит выявление некоторых трудноуловимых багов и позволит лучше понять архитекруру .NET Framework.

Permalink | Комментарии (0) | Post RSSRSS comment feed

Сервисы социальных закладок со стороны разработчика

На многих блогах (в том числе, теперь, и на этом) вы можете увидеть внизу поста кнопки сервисов социальных закладок. Такие кнопки подталкивают посетителей добавить ссылку на ваш пост в их любимый сервис закладок, а это, в свою очередь, может принести новых посетителей и улучшить ранжирование в поисковых системах.

До последнего времени у меня таких кнопочек небыло и, поскольку мой блог работает не на WordPress, для реализации этой функциональности мне пришлось немного попрограммировать и поразбираться с синтаксисом url для добавления закладок.

Практически все сервисы социальных закладок предлагают код, который надо установить на сайт для добавления в закладки пользователя. Но почему-то все снипеты ограничиваются только автоматической установкой полей url и title (с помощью JavaScript). Мне же хотелось заполнять автоматически еще и поля description и tags. Сервис memori.ru предлагает плагин для WordPress, в котором заполняются все нужные поля, поэтому с помощью несложного анализа исходного кода я получил необходимую информацию о формате url. Для остальных популярных сервисов пришлось действовать с помощью логики и метода проб и ошибок. В результате, получилась такая табличка:

Сервис Базовый URL Паратетр url Паратетр title Паратетр description Паратетр tags Разделитель тегов
Technorati http://technorati.com/faves/? add= title=      
Del.icio.us http://del.icio.us/post? url= title= notes= tags= пробел
Memori http://memori.ru/link/?sm=1 u_data[url]= u_data[name]= u_data[descr]= u_data[tags]= запятая
BobrDobr http://bobrdobr.ru/addext.html? url= title= desc= tags= запятая
MoeMesto http://moemesto.ru/post.php? url= title= desc= tags= пробел
MisterWong http://www.mister-wong.ru/index.php?action=addurl bm_url= bm_description= bm_notice= bm_tags= пробел
SEOmarks,
RUmarkz
и другие на движке Scuttle
http://bookmark.searchengines.ru/bookmarks.php/?action=add
http://rumarkz.ru/bookmarks/?action=add
address= title= description= tags= запятая

В таблице представлены два англоязычных сервиса: Technorati и Del.icio.us. Первый является чем-то вроде директории всех блогов, поэтому его присутствие я считаю обязательным, а второй очень популярен и среди русскоязычных пользователей.

По функциональности мне больше всего нравится Memori (хотя я сам пользуюсь Del.icio.us, но не перехожу с него только в ожидании новой версии).

BobrDobr и MoeMesto, тоже, довольно симпатичны и имеют своих почитателей.

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

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

Теперь, с помощью этой таблицы, вы сможете добавить кнопки сервисов социальных закладок к себе на сайт или блог (если у вас блог на WordPress, то поищите плагин) или сделать, например, такой сервис: http://sendez.ru/ (к сожалению, я о нем узнал немного позже, иначе бы это облегчило мой труд).

Лично я подумываю над автоматизацией постинга каждого поста во все популярные сервисы закладок. На многих блогах, также, пробегала идея сабмитить сайты во все сервисы на движке Scuttle (в качестве замены умирающим каталогам). Думаю, что многие уже так и делают, но у меня еще не дошли руки.

В качестве небольшого бонуса прилагаю в атачменте к посту иконки рассмотренных сервисов в одном архиве.

bms_icons.zip (8,97 kb)

Permalink | Комментарии (11) | Post RSSRSS comment feed

Языки веб-программирования - какой выбрать?

Этот пост является частью коллективного описания темы "Создание сайта от начала и до конца".

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

Это не сравнительный анализ языков веб-программирования (для этого надо быть гуру в каждом из них, а я могу лишь похвастаться глубоким знанием платформы ASP.NET), а всего лишь краткий обзор популярных фреймворков и языков веб-программирования в рамках темы создания сайта, предназначенный для новичков сайтостроения.

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

Web Languages

Необходимо, также, понимать различие между языком программирования и фреймворком. Язык программирования - это просто некоторый базовый синтаксис (возможно со стандартными библиотеками), с помощью которого можно создавать приложения. Фреймворк же предоставляет программисту различные библиотеки, значительно упрощающие создание программ и сайтов. Некоторые языки и фреймворки представляют собой неразрывное целое (например, ASP.NET и JSP). Другие языки могут использоваться без фреймворка (PHP и Perl).

Независимо от того, какой язык программирования будет выбран, в основе любого сайта лежит язык гипертекстовой разметки - HTML. Его должны знать все веб-разработчики. Не помешают хотя бы базовые знания HTML и тем сайтостроителям, которые ничего сами не пишут, а используют готовые решения (стандартные или заказные).

Собственно, одного HTML уже достаточно для того, чтобы делать сайты. Но это будут статические сайты, без обратной связи с пользователями. Кроме того, обновления таких статических сайтов трудоемки. Для придания сайту динамики, используются языки веб-программирования.

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

Среди клиентских языков веб-программирования надо выделить JavaScript, который, также как и HTML, лежит в основе многих веб-технологий (например, в основе популярной в последнее время технологии AJAX) и умение программировать на нем относится к базовым знаниям веб-разработчика.

Другие популярные клиентские языки, а точнее фреймворки - это Adobe Flash (язык ActionScript) и SilverLight (любые .NET языки). Adobe Flash применяется веб-мастерами очень давно. Основное применение этой технологии - интерактивные сайты и сервисы, онлайновые игры, мультимедийный контент и реклама. SilverLight - это новая технология, разработанная компанией Microsoft и позиционируемая как замена Adobe Flash. Не смотря на то, что с помощью Adobe Flash или SilverLight можно построить полностью весь сайт, так делать не следует (за редким исключением). Дело в том, что поисковики пока не умеют индексировать ни Adobe Flash, ни SilverLight.

Серверные языки веб-программирования могут быть условно разделены по операционной системе, на которой они работают: Windows и *nix. Это разделение в некоторой степени условно, т.к. практически все популярные языки и фреймворки портированы на обе ОС. Тем не менее, они редко используются на неродных ОС.

Если говорить про ОС Windows, то тут безраздельно властвует технология ASP.NET, разработанная компанией Microsoft. С помощью ASP.NET можно создавать сайты любого уровня сложности - от самых простых, состоящих их нескольких страниц, до очень сложных, обрабатывающих миллионы запросов в день (сайты Microsoft, написанные на ASP.NET, являются одними из самых посещаемых в Интернет). Технология ASP.NET привлекательна для тех, кто неплохо разбирается в ОС Windows, но незнаком с Unix-подобными системами. Основной недостаток - меньшее, по сравнению с *nix, количество дешевых хостингов или необходимость покупки серверной лицензии, в случае с выделенным хостингом. Однако, по сравнению со стоимостью разработки сложных сайтов, а, также, стоимостью трафика, разница расходов на Windows и *nix хостинг может быть пренебрежимо мала.

Самым популярным языком веб-программирования является, безусловно, PHP. Его основными преумуществами являются: простой синтаксис, высокое быстродействие, поддержка большинством хостингов. Очень весомым преумуществом является то, что на PHP написаны многие популярные движки (например, самый популярный движок для stand alone блогов - WordPress).

Другой популярный язык веб-программирования на платформе Unix - язык Perl. Он имеет сложный запутанный синтаксис и никогда не предназначался для веб-программирования. Я не рекомендую его использовать для создания сайтов.

JSP (Java Server Pages) - это часть технологии J2EE, предназначенная для создания сайтов с помощью языка Java. JSP имеет очень много общего с ASP.NET и выбор между этими двумя технологиями чаще всего основывается на субъективных предпочтениях, а не на каких-либо преумуществах или недостатках этих платформ.

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

В заключение, хочу заметить, что выбор языка веб-программирования для сайта неразрывно связан с выбором CMS сайта. На этом краткий обзор языков веб-программирования закончен.

В лучших традициях современной блогосферы подобрал комикс:

 Baby's First Language

Permalink | Комментарии (17) | Post RSSRSS comment feed

Загрузка полноразмерных изображений из превью с помощью JavaScript

Старая диллема - как открывать полноразмерные изображения при клике на превью: в этом же окне или в новом? В последнее время часто используется третий вариант - подгружать полноразмерную картинку с помощью JavaScript. Если пользователю надо просто взглянуть на увеличенное изображение, это, на мой взгляд, самый оптимальный вариант: пользователю не приходится возиться с новыми окнами или нажимать кнопку "Назад", чтобы вернуться обратно, после того, как в текущем окне открылась картинка.

Для одного из своих проектов я решил применить подход с JavaScript. Здраво рассудив, что для такой популярной задачи должен существовать уже написанный и отлаженный код, я занялся поисками. Через некоторое время я остановил свой выбор на двух вариантах (несколько вариантов было отброшено из-за непрезентабельного вида появляющегося окошка). Оба скрипта базируются на бесплатных JavaScript фреймворках.

Первый вариант, ThickBox, работает с использованием библиотеки jQuery. Кроме изображений, он может еще показывать текстовые диалоги. На странице ThickBox все подробно описано и приведены примеры. Если использовать упакованные версии (с выброшенными комментариями и разметкой), скрипты занимают менее 33 килобайт (еще используется CSS файл).

Второй вариант, Lightbox 2, использует библиотеки Prototype и Scriptaculous Effects. На сайте Lightbox 2, также, есть подробное описание и примеры. К сожалению, упакованных скриптов скачать не предлагается, а неупакованные вместе весят около 100 килобайт (также, надо прибавить CSS файл). Я попытался уменьшить размер скриптов с помощью первого найденного сервиса. В результате объем скриптов уменьшился до 75 килобайт, но после упаковки код уже не работал (очевидно, упаковщик делает свою работу не совсем корректно).

Те блоггеры, которые, как и я, используют в качестве платформы для своих блогов Community Server, могут воспользоваться CSModule Qgyen.Lightbox. Этот модуль упрощает интеграцию скрипта Lightbox с блогом (плюс добавляет еще некоторый функционал, например, загрузка изображений из Flickr).

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

 

Статьи по теме:
JQuery - обзор популярной JavaScript библиотеки

Permalink | Комментарии (3) | Post RSSRSS comment feed

JQuery - обзор популярной JavaScript библиотеки

Когда мне приходится программировать что-то на JavaScript, то возникает чуство досады: .NET Framework предоставляет огромное количество встроенных объектов и методов, позволяющих не отвлекаться на реализацию базовых вещей, а тут (на JavaScript) приходится обходиться очень аскетичным функционалом.

Конечно, я знаю, что существуют различные библиотеки для JavaScript, но как-то не приходилось их использовать (в последние несколько лет, не считая последних пары месяцев, я занимался, в основном, десктопными проектами, где JavaScript не нужен). И вот, недавно, мне на глаза попался JavaScript код, написанный с использованием библиотеки jQuery. Код понравился своей простотой и лаконичностью и я заинтересовался этой библиотекой. Немного поразбирался и решил, что стоит попробовать использовать при необходимости.

Как раз на днях встретил обзор jQuery на Хабре. Всем, кто программирует на JavaScript, рекомендую почитать. В комментариях есть ссылка на скачивание книги Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques (Paperback).

В завершение хочу выделить мнение одного из комментаторов, с которым я полностью согласен: использование JQuery (как, впрочем и любых других библиотек) не освобождает от необходимости знать чистый JavaScript.

Permalink | Комментарии (1) | Post RSSRSS comment feed

Visual Studio 2008 и .NET Framework 3.5 Beta 2

27-го июля Microsoft выпустила вторую бета версию Visual Studio 2008 и .NET Framework 3.5. По поводу окончательного релиза Doug Seven, Senior Product Manager for Visual Studio Team System пишет в своем блоге:

While the launch events are scheduled to kick off on February 27, 2008, Visual Studio 2008 will be released before the end of the year."

Т.е., имеется вероятность того, что в конце года мы сможем перейти на новую студию и фреймворк 3.5. Но уже сейчас можно использовать .NET Framework 3.5 в коммерческих приложениях, т.к. он распространяется под, так называемой, go-live лицензией.

Итак, какие же новые возможности появятся у разработчиков при переходе на новую версию?

Поддержка нескольких версий .NET Framework (Multi-Targeting Support)

VS 2008 позволяет выбирать версию .NET Framework для проекта. Это значит, что вы можете использовать VS 2008 для своих проектов на .NET Framework 2.0 (например). Учитывая новые возможности, о которых рассказывается дальше, это очень полезное свойство новой студии, т.к. позволяет безболезненно перейти на новую IDE.

Новый Web Designer с поддержкой CSS

В VS 2008 существенно улучшен HTML Web Designer:

  1. Появился режим редактирования Split View, в котором одновременно отображаются и html код и дизайн страницы (аналогично тому, как это сделано в Macromedia Dreamweaver).
  2. Новое "Manage Styles" tool window, которое отображает все CSS стили с соответствующими правилами для редактируемой страницы.
  3. При выделении HTML элемента или серверного ASP.NET контрола новое CSS property window отображает все CSS свойства выделенного элемента и позволяет их редактировать.
  4. Поддержка Intellisense для CSS стилей.
  5. Вложенные Master Pages.

Поддержка ASP.NET AJAX и JavaScript

.NET 3.5 включает в себя ASP.NET AJAX. VS 2008, также, поддерживает JavaScript и AJAX в ваших приложениях.

LINQ и улучшения языка

Самые интересные, на мой взгляд, "фичи". LINQ (language integrated query, интегрированный язык запросов, произносится как "линк") вносит новую идеологию в работу с данными. С его помощью, используя SQL подобные запросы, можно получать данные из различных источников: .NET коллекций (и вообще, из любых объектов, имплиментирующих интерфейс IEnumerable<T>), XML, БД.

Особый интерес представляют части LINQ, называемые LINQ to SQL и LINQ to Entitis. С их помощью можно наполнять данными объекты домена (domain objects), представляющие собой модель предметной области. По сути, эти компоненты выполняют те же задачи, что и широко распространенная библиотека NHibernate, но при этом более тесно интегрированы с другими частями фреймворка. При этом, LINQ to SQL позволяет создвать простые зависимости между БД и объектной моделью, а LINQ to Entitis более сложные. К сожалению, релиз LINQ to Entitis ожидается в 2008 году, после выхода .NET Framework 3.5.

Вместе с LINQ в язык добавлены новые конструкции:

  • автоматические свойства (Automatic Properties)
  • инициализация объектов (Object Initializer)
  • лямбда выражения (Lambda Expressions)
  • синтаксис запросов (Query Syntax)
  • расширяющие методы (Extension Methods)
  • анонимные типы (Anonymous Types)

Другие улучшения

Кроме выше описанных, имеется много других улучшений: WPF designer (для VS 2005 можно установить бесплатный Add-on), WCF и Workflow проекты и дизайнеры, значительные усовершенствования в разработке приложений под Office и много другого.

Permalink | Комментарии (0) | Post RSSRSS comment feed
Реклама
TNX.net - уникальный международный сервис для вебмастеров и оптимизаторов

Подписка
toodoo Читать в Яндекс.Ленте Добавить в Google Reader или Homepage

Статистика
]]>
  • PR0CY.com - сервис проверки доменов
  • BlogMemes.ru
]]>





]]>

]]>