Showing posts with label JavaScript. Show all posts
Showing posts with label JavaScript. Show all posts

Friday, May 18, 2007

Sun пуска JavaFX за ново поколение usability

Sun очевидно са решили да развиват ново поколение интерфейси. Докато в медиите се говори за това как JavaFX ще бъде една алтернатива на AJAX, в Силиконовата долина се целят далеч по-високо. JavaFX ще бъде един чисто нов framework за GUI и в типичния за Sun стил, той ще бъде напълно мултиплатформен. Базирана на Java технологията, JavaFX ще може да се интегрира както в web, така и в настолни и мобилни приложения. Единния стандарт се стреми да предостави неповторима и безпрецедентна гъвкавост, точно в момента, когато цялата индустрия е хвърлила око на мобилния хардуер като платформа.

Припомням ви, MSN & Yahoo! подписаха сделки за милиарди през тази година с куп мобилни производители, за да може техните търсачки да се интегрират в новите модели от високо полколение. И не само това - Yahoo! Messenger и MSN Messenger вече имат своите мобилни версии. От своя страна пък, Google Base API & Google Gadgets позволяват на програмистите достъп до услугите на Google с една обикновена SOAP заявка да извлекат каквото си поискат.

В този момент Sun пуска своят framework и съм сигурен, че много скоро ще се появи нова категория в code.google.com. Кодът на JavaFX ще бъде изцяло отворен, което ще допринесе за лесното интегриране в безброй много приложения, но пък винаги ще имаме едно наум за бъгове. Чудя се дали отново ще трябва да се борим с инсталациите и поддръжката на някакъв VM, но съм сигурен че инженерите от Sun са си взели поука.

Разработен е и нов скриптов език - JavaFX Script, на който ще се разчита за да завладее мултиплафромените приложения с богат интерфейс. Просто се надявам да не е толкова извратен колкото самата Java :)

Tuesday, May 1, 2007

Flash, AJAX и SEO на едно място?

Сигурен съм, че този въпрос тормози много хора и реших да споделя една идея и малко опит. За голяма част от уебмастърите е трудно да вкарат думите AJAX, Flash & SEO в едно изречение. Проблемът в случая е, че ботовете няма как да прочетат съдържанието на Flash-а или AJAX-а. ГРЕШНО! Благодарение на дразнещия Internet Explorer, където потребителя трябва да кликне, за да активира флаша, много хора се обърнаха към една отдавна позната техника - заредждането на Flash елементи с JavaScript. Не случайно, обаче, HTML поддържа освен SCRIPT и NOSCRIPT тага. С помощтта на малко PHP и XML и познаването на MVC, се стига до следното решение: Rieke-Hella Volleyball

Как се индексира AJAX съдържанието?
Лесно. Обикновено се ползва хипервръзка за тази цел. Имаме <a href="pages/page.html" onclick="javascript:ajaxCall('page.php', 'targetDivContainer');" title="Динамично описание, съдържащо ключови думи">Описателен текст на връзката</a>. Така бота ще индексира линк, към някоя страница, а при натискане ще се извика AJAX-a. Остава само да направим такъв фреймуърк, който да зарежда вярното съдържание вътре, след като човек попадне на тази страница от търсачката.

Как да покажем цялата страница на търсачка, а не само съдържанието на AJAX елемента?
Тук е малко по-пипкаво. Най-оптимирано е, когато съдържанията на отделните елементи се намират в директория, която е скрита за достъп от търсачките. Един .htaccess също би могъл да се окаже от помощ. С помощтта на mod_rewrite пращаме всички тези линкове в един файл, който инклудира последователно хедъра, динамичното съдържание и футъра. Хедъра представлява всичкия HTML преди динамичното съдържание (до отварящия DIV). След това влиза HTML кода, който би се върнал от AJAX RPC-то. След това се затваря DIV-а и се добавя всичко останало. Ето, показахме си 'скритата' навигация :)

Как да индексирам съдържанието на флаша?
Съдържанието на Flash-а се извежда във външни XML файлове. В тези XML файлове записвате всяка дума, която се появява на всеки отделен фрейм. Връзките към други фреймове ги описвате като хиперлинкове. Всеки хиперлинк ще предава нужните параметри на PHP файлче, което ще зарежда текстово фрейма и ще го представи под формата на HTML код, който ще бъде описан в NOSCRIPT-а след зареждането на флаша (май забравихте, че с JavaScript го викате :П).

Това е всичко. Няма защо да се лишавате от подвижност, красота и функционалност. Ако знаете как да го направите правилно, няма да попречите на своята SEO кампания.

Friday, February 2, 2007

WebToolKIt и Prototype - неочаквано добра комбинация

Не знам по колко пъти на ден препоръчвам тези 2 продукта, затова реших да ги блогна, барем се видят по-добре в пустия му Google. Какво правят тези 2 сладурчета. WebToolKit е златната библиотека за моделиране на данни с JavaScript. Има класове за UTF-8, URL, Base 64, MD5 и SHA1 encoding или с 2 думи казано, всичко, което ни трябва и е задължително за AJAX. Prototype от своя страна пък предоставя най-елементарния интерфейс за AJAX заявки, плюс нереално обемна библиотека (PNG, PDF) от класове, които човек може да ползва като framework в JavaScript. Просто ги свалете тия двечките и RTFM, а аз ще ви покажа как изглежда един AJAX call с тяхна помощ:

function submit_form(param1,target,method){
var furl = "http://example.com/processor.php";
current_target = "";
var params = 'param1='+param1+'&rpc=1&amp;amp;etitle='+WebToolKit.utf8.encode($F("formField1"))+'&element_content='+WebToolKit.url.encode($F("formField2"));
var myAjax = new Ajax.Updater(target, furl, { method: method, parameters: params});
}
Това е една JS функция, с която се предават данни от формуляр. Първият параметър е някакъв системен (authkey например), вторият е ID-то на елемента, в чието innerHTML трябва да се запише резултата, а method е GET или POST. "formField1" е стойността на name атрибута на някой от инпутите във формуляра. Това е всичко :)

Saturday, January 27, 2007

Излезе Prototype 1.5

Излезе новата версия на JavaScript framework-а Prototype. В 1.5 са фикснати редица бъгове. Нямам идея колко са на брой, но WinMerge показа около 30% разлика между старата и новата версия. Не става ясно, обаче, дали разработчиците на Prototype са поели крачката да оправят грешката с Object.extend, на която неименуемо се натъкваме във FireFox 2.0 при отваряне на pop-up. (Ако някой е имал подобен проблем, да пише коментар, за да му дам workaround) Все пак новината е радостна, най-пълният и удобен AJAX framework продължава да се развива!