Source: http://itsnat.sourceforge.net/php/spim/spi_manifesto_en.php
Потекло на веб-технологија
Кога Тим Бернерс Ли измислил веб тој е во потрага за системот да објавуваат научни документи далечински пристап, визуелно атрактивен и лесен за кодот и лесен за употреба за не-техничко лице.
Во научен документ, надворешни наведува на други документи е неопходна, со цел дека на читателот може евентуално да се развие темата во прашање.
Од овие причини, World Wide Web, е замислена како движење со page (документ) базирани систем со хиперлинкови.
Првично Веб еден свет на статични страници и врски, но наскоро генерација на динамични страници и воопшто користење на веб, како поддршка за дизајнирање на веб-базирани апликации комплицирано сè.
Спирала Доаѓањето на веб апликации
За многу години има силна напор да се прилагодат на интернет парадигма на страници и линкови до развој на апликации. Во веб апликација поглед на статички документи и едноставно врски на Бернерс “не постојат.
Различни пристапи за развој на апликации се случува:
Модел 1: директен превод од оригиналниот модел на страни и линкови, каде страници се динамички генерирани.
Модел 2 o MVC: Сега врски не се директно укажува на конкретни целни страници, во овој случај контролорот одлучи што на следната страница е во зависност од работењето случија во транзиција страница.
MVC врз основа на компоненти (модел 3?): Е софистицирана верзија на моделот 2 симулира како десктоп апликации работа. Таа се заснова на компоненти и настани, па секој корисник акција подразбира целосна обнова и Вчитај ја страната на страницата делумно менување на некој дел во согласност со акција изведена. транзиција на страница и страница сега е раководен од компоненти кои сега што промени се случуваат во согласност со овој настан, го симулира како компоненти да работат на десктоп GUI програмирање.
Во последните неколку години техниката AJAX е воведена, оваа техника со помош на JavaScript им овозможува на парцијалните измени на страници добивање нови податоци од серверот, без претовар. И покрај делумно техника промена страница е долго време пред воведувањето на XMLHttpRequest во Internet Explorer (база на програмирање AJAX), тоа е поттикнување на масовната употреба.
Сега милиони веб-сајтови и веб апликации се користи AJAX да се обезбеди подобро искуство за крајните корисници, благодарение на повеќе одговора кориснички интерфејси делумно се избегне досадни превчитува страница.
И покрај масовната употреба на AJAX, можеме да кажеме дека веб следи моделот на развој би можеле да го именува како “Модел 2 (MVC) збогатени со Ајакс”. При користење на AJAX, “Модел 3” нема многу смисла, бидејќи AJAX во голема мера ја намалува потребата за управување страница врз основа на компоненти. AJAX, бидејќи обично се користи заедно компоненти (не мора да се претстави во модел 2), може да се класифицираат на моменталната состојба на уметноста на веб развој како модел 3.5, каде страница навигација делумно се избегнува во случај на помали државни транзиции врши од страна на AJAX и JavaScript.
Спирала Кои се недостатоците на страница врз навигација и развој?
Секој Веб програмер знае како проблематично е страница навигација на веб апликација, покрај на пропусниот опсег губење време и време процес обновата на цели страници поголеми проблеми го прават веб развој болно како несакани кеширање, назад / напред копчиња, desynchronized форми предизвикана од “Автоматско пополнување формулари” карактеристика на некои прелистувачи и така натаму. Тоа не е невообичаено да се види веб апликации кои ги кријат изборниците и копчињата на прелистувачот, или со користење рамки или iframes (на пример банките) за да се избегне проблемот на копчињата назад / напред.
Page базирани развој сили стил на кодирање чудно, повторувачки (многу вклучува) и неефикасни (bandwidth и компјутерска моќ) не е пронајден во развојот на работната површина.
Спирала Што е она што го спречува интензивно користење на AJAX?
Во областа на веб развој на кој сме навикнати да ги разделат двете вид на веб решенија: веб апликации и веб сајтови.
Во првиот случај AJAX станува се повеќе и повеќе се користат, бидејќи овој вид на апликации не ги делат некои реквизити изрече за веб-сајтови. Во веб сајтови интензивно користење на AJAX е проблем.
На веб-сајтовите на крајните корисници се користи концептот на страницата, врзана за некои страници реквизити и услуги се бара во било која веб-сајт како што се:
Обележувачи: Секоја веб страница има различна URL, овој URL може да биде зачувана како маркер. Бидејќи AJAX делумно може да се промени на страната на URL-то е ист, на крајниот корисник не може да се спаси како ознака конкретен поглед (државата) на страната.
Пребарување Engine Optimization (SEO): Секој веб-сајт сака да биде целосно индексирани од пребарувачите како Google пребарување. Тековни роботите се види на Интернет како Web 1.0, односно JavaScript код е целосно игнориран, а со тоа било делумно промена се врши преку AJAX вчитан од серверот не се извршува тогаш не се индексирани од страна на роботи traversing на веб-сајт.
Услуги врз основа на посети на страници: На пример Маркетинг услуги како Google AdSense и посетата за мониторинг, како што се Google Analytics, и во двата случаи бројот на страница товари е важно. Затоа секој делумна промена направено од страна на AJAX не се брои како нова посета.
Повремени потреба од pop-up прозорци кученце
Бидејќи овие реквизити интензивна AJAX е обесхрабрен во веб-сајтови.
Сепак, разликата меѓу “веб-сајт” и “веб апликација” станува се помал, бидејќи речиси секој веб-сајт е еден вид на “веб апликација” …
Спирала Дали треба да се откажат од AJAX-интензивни апликации?
Не
Постојат технички решенија за сите погоре наведени реквизити.
Спирала Развој на веб-сајтови врз основа на една веб-страница (SPI), можно ли е тоа?
ДА!
Тоа е време да се започне оваа транзиција, програмерите и крајните корисници на сите нас ќе се добие. Имаме технологија и модерни прелистувачи се квалификувани да се постигне оваа цел.
За да успее во оваа “нова” начин на веб развојот ние мора да се постигне сето претходно реквизити на било кој веб-сајт.
Спирала Збогум страници, добредојде држави
Во веб апликација не се вклучи, државни секвенца е еквивалентно на страници, во пријавата на SPI било делумно промена подразбира нов “држава” на “страница”. Меѓу државите можеме да разликуваме две категории на држави:
основните држави
средно држави
Разликувањето помеѓу двете држави видови е многу важно, бидејќи основните држави ќе станат веб страници кога е потребно. Основните и средните диференцијација е веб-сајт зависни.
За да се разбере подобро и типа на држави можеме да учат еден реален пример: Влезот валидација.
Во класичен страница базирани апликации типичен најава е изградена со користење на две страни, една за корисник и лозинка и еден покажува опции корисникот ако валидација најава е точно; страната за логирање ќе се превчита покажува некои пораки за грешки, заедно со формуларот за најава кога влез за најава не е во ред.
Во веб SPI, првичната најава и страница опции корисникот може да бидат основните држави, како и пораки за грешки, заедно со најавите може да биде средно држави.
Друг пример, веб-сајт врз основа на страници да се конвертира во SPI, во овој случај основните држави ќе биде страниците и средните членки ќе бидат страница држави со мали промени, не е доволно важно за Селектирај или да се поминува роботите.
Еден интерфејс Пејџ и обележувачи
Различни страници имаат различни адреси, по пат SPI како можеме да се промени една држава, а во исто време на URL-то без претовар да се овозможи оваа нова држава може да бидат обележани од страна на крајните корисници ?.
Постои трик, со користење на “референца” дел од URL адреси ( “хаш фрагмент”, shebang или hashbang), ова е последниот дел, ако ги има, по # карактер. Оваа референца се користи за да се движите на страницата на конкретни локација назначена од страна на некои <a name=”ref”> </a> марка. Оваа референца дел ако се промени не ја превчитува страната, па оттука и дали референцата рачно се менува со користење window.location заедно со државата на страницата (во овој случај оваа нова држава е “фундаментално”) со JavaScript и Ајакс, тогаш не Вчитај ја страната повторно се врши. Бидејќи URL и основните состојба се менува, на крајните корисници да се спаси оваа URL-то, на некој начин содржи новата држава информации, како обележувач.
Кога крајниот корисник сака да се врати повторно на маркирани страница, целта државата се наведени во референтната дел од URL-то, серверот ќе се бара, за жал референтната дел не се испраќаат до серверот, бидејќи референца дел не прави ништо да се направи со далечинскиот управувач локација користејќи HTTP, па оттука и ние ќе треба процес на пост-оптоварување.
Серверот ќе се врати почетна страница, во која не е одредено целта државата, сепак објектот window.location содржи оригиналната URL како на референтната дел. При полнење на целната страница може да се детектира со JavaScript дали window.location содржи референца дел и дали оваа референца ја има потребната цел државата информации, ако е точно може да се преработи URL-то додавање на некои вид на нормално параметар за да го одредите целта состојба да се вчита. Бидејќи УРЛ е всушност изменета ново барање на серверот се извршува, овој пат државата да се вчита во параметар и серверот се враќа на нова страница со потребните државата.
Друга опција, подобро од hashbangs, се поставува со доаѓањето на HTML 5, Историја на API HTML 5.
Спирала една страница интерфејс и Барај Engine Optimization (SEO)
Најлесен начин да се добие нашите веб-сајт се обработени од страна на пребарувач роботите е да понуди два различни начини за навигација, SPI за крајните корисници, страници за веб-роботи.
Следниот пример покажува врска со оваа идеја:
<a href=”URL page” onclick=”return false”> … </a>
Овој линк ќе не прават ништо во прелистувачот со вклучите Javascript-от бидејќи навигација е оневозможен од страна на “се врати лажни” од OnClick атрибут, но кога бот индекси на овој линк игнорира OnClick атрибут бидејќи JavaScript код не е извршена и ќе процесот на зададениот како на следната страница да се процесира.
На полето на примена SPI, адреси се користи за страница / држава навигација мора да ги содржи цел државата, на истиот тип на адреси се користат во SPI Селектирај кој е со користење на референтниот дел за да се покаже на целната состојба, или целта е директно напишано како нормален параметар, подоцна е најпосакувана поради тоа се избегнува барање сервер, се разбира “прилично адреси”, исто така, може да се користи.
Во моментов Google веќе ползи “Ајакс адреси”, што е, URL содржи цел на државата во референтниот дел следните #! како што е наведено во Изработка на AJAX апликации кравлабл, во овој случај на веб-сајт / апликацијата мора да се врати на очекуваните страница се бара со _escaped_fragment_ параметар.
Во исто време, веб рамка на SPI да додадете специфичен код да ракувачот со onclick пред да се врати лажни или може да се поврзе со настан слушателот на врската се користи за државата / страница навигација, регистрирани addEventListener или attachEvent во зависност од интернет пребарувач. Овој настан слушателот ќе се изврши некоја акција да командува со серверот, вообичаено користејќи AJAX, да се промени состојбата на страницата. Кога врската е кликнато оваа држава промена не е нова страница, бидејќи атрибутот onclick = “… return false” избегнува стандардно однесување.
Оваа техника е опишано погоре е наједноставниот и веднаш од страна на која има врски во согласност со ботови и SPI. Што некогаш може да се одделат и двете функции, на пример користејќи скриени линкови за крајните корисници, но не и за ботови заедно со други кликање елементи да се промени SPI држави со помош на JavaScript невидливи за ботови.
Најважната карактеристика на SPI способни рамка е страница генерација како HTML со потребните државата на време да се вчитаат, а во исто време исто државата промена мора да се изврши со JavaScript и делумно ажурирање страница. Овие предуслови се од фундаментално значење за да се обезбеди SPI и страница симулација.
Копчиња спирала SPI и назад / напред
Назад / напред копчиња се извор на проблеми на конвенционалните страница врз основа на веб-сајтови и треба да се избегнуваат, како е можно поскоро. И покрај корисници се користат за да се избегне Назад и Напред копчиња при поднесување на формуларот со податоци за корисникот (поради тоа што носи ризик од купување на два пати со истиот авион штиклирано или книга), употреба на копчињата назад / напред е многу распространета.
Очигледно парадигмата SPI крши традиционалниот начин на навигација на веб-сајт, бидејќи во теорија Назад копчиња / напред нема смисла во SPI (не страници) и веб прелистувачи не се обезбеди добра контрола на овие копчиња.
Ова не е целосно точно, назад / напред однесување може да се симулира, наместо на страница навигација назад / напред (и историја навигација воопшто) може да се користи за промена на моменталната состојба на претходната / напред држава. Во овој случај на JavaScript код, може да се открие кога одредениот дел од промени URL-то и бара примена за промена на државното соодветно. Бидејќи на пребарувачот не се менува страната на вашата апликација сега е целосно одговорен за назад / напред однесување избегнување на типичните проблеми на неочекувани назад / напред употреба на крајните корисници при поднесување на формуларот, сега во SPI не постои таква форма и нема неконтролирано навигација страница со примена / веб-сајт на интернет.
Спирала SPI и услуги базирани на посети на страници
Реклами услуги и страница посета бројачи се врз основа на колку страници се вчитуваат. И во двата случаи може да се користи скриен <iframe> елементи кои содржат празна веб страница со потребните скрипти за извршување на овој вид на услуги.
Во случај на огласот услуги, како што се Google AdSense, динамичен вметнување на <iframe> имплицира вчитување на нови реклами затоа секој државата промена може да значи нов Вчитај ја страната повторно на <iframe> со реклами. Google AdSense чини да се открие кога сценариото на AdSense се извршува во рамките на <iframe> и ги зема во предвид содржината на страницата со сад. Тоа може да биде пожелно да додадете некој вид на параметарот што го идентификува основните држава која се вчитување на <iframe>.
Во случај на посетата шалтери, можеме да ги користите за следење на корисник посети на основните состојби на нашиот веб-сајт SPI. Во овој случај ние треба скриени <iframe> содржат празна веб страница со скрипти за следење. Со едноставен параметар може да се укаже на основните состојба се посетени. Нашите <iframe> треба да биде глобален (секогаш ист во страницата). Кога страната е првиот вчитан, основните државата се вчитани (наведени во URL-то) треба да бидат наведени во <iframe> со параметар. По вчитувањето на страницата, секој основните државни промени би можеле да се известува <iframe> менување на URL користејќи JavaScript според новите основни држава, оваа промена URL ќе предизвика Вчитај ја страната повторно на <iframe> (што укажува на нова посета).
SPI и pop-up прозорци
Кога ќе се создаде прозорец нова страница моделот SPI е скршен. Фундаментализам е лошо, не постои проблем ако државата на овој нов прозорец нема никаква врска со состојбата на прозорецот родител, во овој случај pop-up прозорци се во ред.
Проблемот се јавува кога било акција изведена на pop-up прозорец (модална или не модални) има влијание на прозорецот родител, координација помеѓу страните е комплицирано. На пример, не постои на веб стандард за да се создаде модалната прозорци, бидејќи концептот на страницата традиционално секогаш бил независен елемент и затоа неговиот животен циклус е тешко да се координираат од друга страна.
За среќа, овој проблем има решение за некое време во SPI, можете да симулирате модални или не модалната прозорци во внатрешноста на истата веб-страница, нема нов прозорец вистинска страница е замислен. Во случај на не-модален прозорци, било кој HTML елемент со апсолутно позиционирање може да биде “не-модален прозорец” и може да се создаде модалната прозорци со користење апсолутно позиционирање, контрола на Z-означувач и непроѕирноста на елементи “на врвот” на страница ( “модалното слоеви”). Овие решенија се валидни во контекст на SPI.
Со малку напор, па дури и на државата која покажува модален прозор може да биде основен држава и затоа навигација од страна на пребарувач ботови.
Спирала културна промена за веб програмери
Поголемиот дел од веб програмери (и интернет рамки) дека на веб, како врз основа на страници, намалување на страната на една страница подразбира радикална промена на умот и како ние се направи веб-сајтови и апликации. Оваа промена не е толку радикално благодарение на AJAX, AJAX е денес мејнстрим и го намали бројот на страниците на еден типичен веб-сајтови, на кратко ни ја донесе во близина на оваа “нова” модел на развој SPI.
Во новиот SPI Веб <form> тагот исчезнува и воопшто потребата на сесии се користи како податоци менаџерите следниве секвенци страница. Сега главниот лик е клиент на страницата со некои симетрија во серверот (страница во серверот). Всушност, бидејќи ние се ослободи од координација страница со сесии ние сме ослободени од извор на проблеми како лошата пракса на некои корисници, кои се отвори неколку прозорци со истата страница, оваа практика обично се распаѓа на седницата и примена во целина.
SPI програмирање е врз основа на настаните исто како и во десктоп, бидејќи во повеќето десктоп апликации работи во истиот прозорец рамка и кога постојат дете прозорци тие се целосно управувана од страна на главниот прозорец и вистински модален.
По парадигма еволуцијата на веб развој, оваа “нова” пристап може да биде именуван Модел 4.
Спирала културна промена на крајните корисници?
Не многу, со обележувачи и назад / напред симулација на крајните корисници не се случува да се направи разлика на веб-сајт SPI и истата страница, врз основа, освен на сајтот SPI ќе биде повеќе одговорен и типична трепка и лизгање на страница навигација е отстранета.
Спирала Технички одржливост денес
Овој манифест не е изјава за намери, туку израз на желбата за промовирање на “нова” начин на градење на веб-сајтови кои веќе се реални. Горенаведените техничка студија отсекогаш имал веб рамка Јава ItsNat како технолошката основа на развој на веб SPI. И покрај ItsNat беше замислен од еден ден на овој вид на апликации / сајтови, претходните техники може да се примени со други веб-рамки или тие рамки може да се развива за да обезбеди средства за овој вид на SPI веб-сајтови со барањата на страница симулација.
Некои барања на овие веб-сајтови SPI да биде во можност за замена на традиционалните страница врз основа на веб-сајтови, како што се страница симулација на основните држави на време да се вчитаат, се само можно со серверот се оддалечиме од веб-рамки, бидејќи HTML рендерирање мора да се направи во серверот на оптоварување време. HTML рендерирање на оптоварување време и истиот динамички вчитани и вметната со вклучите Javascript-се клучните карактеристики на веб рамка SPI подготвени да се изгради веб-сајтови. Клиент оддалечиме рамки може да има голема улога за реализација на т.н. средно држави.
Спирала Две реалниот свет примери
На веб innowhere.com/jnieasy
Тоа се прави со ItsNat во серверот и добар пример за SPI веб-сајт, бидејќи тоа го сумира сите барања на веб-сајт SPI, што е објаснето во овој документ, за да биде задоволителна замена на традиционалните сајт. Всушност, новата верзија SPI замени, без significative естетика на функционални промени на претходната верзија врз основа на страници. Таа се заснова на hashbangs.
Карактеристики
Една страница Интерфејс: Назад и Напред копчиња се симулирани промена на претходната или напред посети државата.
Основните држави можат да бидат зачувани како маркери.
SEO компатибилен: основните држави се постигне со оневозможено JavaScript, вклучувајќи модален прозор.
hashbang # На! формат се користи, тоа е, Google оптимизација компатибилен “AJAX адреси”, страната е, исто така, се бара по конвенцијата на _escaped_fragment_ параметар Google. На пример, оваа држава се запиша од Google со барање за URL-то.
Работи со вклучите Javascript-оневозможено.
Покажува банер реклами врз основа на Google AdSense
И покрај тоа што SPI, бараат преку основните држави се следи од страна на Google Анализа со помош на скриени <iframe> што URL менува кога ќе заврши тековната фундаментални промени на состојба.
Симулирани модален прозор избегнува создавање на нов прозорец страница, оваа симулирани прозорецот е исто така достапно со директен URL или верзија hashbang со текст веќе во Селектирај на оптоварување време следствено компатибилен оптимизација.
На веб www.itsnat.org
Таа, исто така е направен со ItsNat во серверот. Во овој случај се користи JavaScript Историја API. Ова е најстариот совршен пристап за претворање на еден конвенционален веб-сајт на компатибилна верзија SPI оптимизација. Ако историјата API не е поддржан од страна на бетон стар прегледувач, конвенционалните страница навигација се користи автоматски. Сите модерни веб прелистувачи имаат подршка API JavaScript историја. Карактеристиките SPI на овој веб-сајт се во основа исти како и во претходниот пример.