Irányváltás
A HTML alapú adattárolás és -megjelenítés számtalan gonddal küzd, ráadásul nagyon kevés olyan fejlesztő vagy döntéshozó van, aki komolyabban foglalkozna velük. Álljon itt egy lista a legsúlyosabbakról, s végül arról, hogyan lehetne a mostani spirálból kikeveredni.
Problémák
Statikus
A HTML az SGML-re épül, amelyet kormányzati és ipari projektek dokumentumainak közzétételére fejlesztettek ki; ezek jellegükből adódóan nem vagy csak nagyon ritkán változnak. Amikor a web a kilencvenes évek vége felé rohamosan kezdett elterjedni, kiegészítették pár aprósággal (CSS), de a nyelv, valamint a böngészők alapvetően továbbra is igazán csak statikus tartalom megjelenítésére voltak felkészítve, és ez igaz a mai napig is.
Statikus például egy Word dokumentum (a HTML elemek elnevezései is mind arra mutatnak, hogy ilyenek létrehozására találták ki) vagy egy .txt fájl, de ilyet elvétve találunk a weben; amint egy oldalon legalább két tartalmi blokk van, amelyeknek más és más a módosítási ideje (például egy menü és egy cikk), ha bármelyik megváltozik, a kódot minden esetben újra kell generálni. Ez jelentős terhet ró a webszerverekre és a programozókra, mert a különböző tartalmi szekciók gyorstárazását (ha egyáltalán foglalkoznak ilyennel) az utóbbiaknak kell megvalósítaniuk. Egy kép vagy egy szkript már most is saját létrehozási, lejárati idővel rendelkezik, így a böngészőnk csak akkor tölti le újra, ha szükséges, de a HTML-ben lévő különböző tartalmi egységeknél ezt kliensoldali szkriptelés nélkül megoldani csak kompromisszumokkal lehetséges.
A legnagyobb problémát a statikusság a webes alapú alkalmazásokban okozza, ahol az adatok állandóan változnak, és amelyeket sokszor nem hagyományos URL-en érünk el, hanem AJAX segítségével töltenek be mindent. Ez felhasználói szemszögből különböző webes szolgáltatásoknál különböző élményt jelent, attól függően, hogy a fejlesztők mennyire profik vagy mennyire fizették meg őket, hogy jó munkát adjanak ki a kezükből. Nagyon nehéz, hacsak nem lehetetlen találni olyan AJAX-os oldalt vagy alkalmazást, amely használhatóságban ugyanazt az élményt nyújtja, mint egy statikus oldal, ehhez sem szabványügyileg, sem pedig a böngészőkben nincs teljes támogatás.
A sablonozás hiánya
Mivel a HTML nem támogatja a sablonok használatát (ugyanannak a dokumentumszerkezetnek a felépítését más adatokkal), a problémára ezer különböző megoldás született: a legtöbbször a szerveroldali keretrendszerekben állítják elő a HTML-t, de az AJAX elterjedésével egyre többször saját adatformátumban küldik az adatokat a kliensnek, például JSON-ban, ez alapján ott készítik el a behelyettesítést és a végleges kódot. Ez utóbbi átlag weboldalaknál (nem web alapú alkalmazásoknál) azzal a hátránnyal jár, hogy a keresők nem mindig tudnak mit kezdeni a kapott adatokkal (sokszor már a lekérdendő adatok URL-jét is szkriptből készítik), valamint ugyanannak a HTML kódrészletnek a generálását legtöbbször két helyen végzik el (először a szerveroldalon az eredeti oldalét, majd később az adatcsere után a kliensen), azaz dupla munka, kétszeres hibázási lehetőséggel. Mivel mindenkinek magának kell a sablonozást megvalósítania, a használhatóságuk nagy szórást mutat.
Az adatok és a megjelenés összefonódása
Első munkahelyemhez 2004-2005 körül ért el a hullám, hogy oldalainkat ne az addig szokásos táblázatokkal készítsük, hanem ami megjelenéssel kapcsolatos, az kerüljön külön CSS-be, ami a működéssel, az pedig (lehetőleg) saját JavaScript fájlba, és az elemeket használjuk arra, amire valók: a listákat tegyük <ul>
-be, a címek kerüljenek <h2>
-be és így tovább, a cél az, hogy a megjelenést válasszuk el a tartalomtól.
Mivel a HTML-t alapvetően emberi fogyasztásra találták ki, sokszor szükséges bizonyos információk megjelenésének megkülönböztetése a többitől. Hiába kapunk újabb és újabb CSS definíciókat, ilyen esetekben mindenképp plusz markupra van szükség, ami ugyanúgy a megjelenítés része, mint maguk a stílusok, de a nyelv jellegéből adódóan nem tudjuk őket száműzni a dokumentumból. Emiatt sosem lesz olyan HTML oldalunk, ahol a kódban pusztán csak az adatok vannak, és minden, a megjelenéssel kapcsolatos dolog teljesen külön van ettől választva. El kell fogadni, hogy a HTML se több, se kevesebb, mint felületleíró nyelv, és ennek megfelelően kell kezelni.
A metaadatok megadásának korlátozott lehetősége
Kezdetekben a <meta>
elemekben volt lehetőség az oldal tartalmáról és kulcsszavairól bővebb információkat megadni, ezeket máig használják, de az utóbbiak sokat nem érnek, mert nem lehet megmondani, hogy a kódunknak pontosan melyik szekciójára vonatkoznak. A kétezres évek elején kezdtek el komolyabban foglalkozni a szemantikus webbel a W3C-nél, de sajnos a fejlesztésük, az RDF(a) nem igazán terjedt el az átlagos weboldalakon, többek között korlátozott elemkészlete miatt (nagyon kevés valós objektumot lehet így leírni, valamint nem egy szervezet kezeli az összeset).
Az ezredforduló után kezdett elterjedni az XHTML (eXtensible HTML), ahol a bővíthetőséggel tervezői azt szerették volna elérni, hogy dokumentumainkban lévő adatainkról többletinformációt adhassunk meg. A koncepció többek között azért bukott meg, mert egyrészt nem volt útmutatás a folyamatra vonatkozóan, nem volt egy központi elemtár, amiből válogathatunk, továbbá a bővítéshez szükséges DTD-k létrehozása nem egyszerű feladat, mellyel a HTML elvesztette egyetlen óriási előnyét, azt, hogy egyszerű, a belépési küszöb alacsony. (Persze ez egyben hátrány is, mert a weboldalak túlnyomó többsége a megvalósítás, használhatóság szempontjából rengeteg kívánnivalót hagy maga után az alulképzett szakemberek és az egyre bonyolódó szabvány miatt).
A mikroformátumok ugyancsak hamar megbuktak, itt is amiatt, mert kevés dolgot lehetett velük leírni. A 2011-ben a Microsoft, a Google és a Yahoo által kezdeményezett schema.org már valamennyivel komolyabb, jelenleg körülbelül ötszáz objektummal dolgozhatunk, ami körülbelül egymilliomod része a Google belső használatra készült 570 milliós adatbázisának. Ez utóbbi tény jelzi, hogy milyen fajsúlyú a probléma, amivel szembenállunk, és hogy a keresőóriás mennyire fog elhúzni a mezőnytől, ha ezt a fegyvert beveti: nem lesz versenytársa, minden az övé lesz.
A jelen
A folyamatok megkoronázása a HTML5, mely épp csak a legégetőbb problémákra nem hoz megoldást. Az újonnan bevezetett elemek nagy része nemcsak redundáns (<header>
kontra <div role="header">
), de visszafele sem kompatibilis, és az adatok szempontjából nincs szemantikus jelentésük, amivel többek vagy jobbak lennének a korábbi megoldásoknál – így megjelenésük valószínűleg pusztán politikai kérdés. A szabványalkotók munkáját „dícséri”, hogy a role
attribútumok mindenképp felülírják a szülőelemük jelentését, például az <article role="button">
segítségével gombot hozhatunk létre, azaz így is könnyen írhatunk olyan kódot, amelynek működése első látásra nem egyértelmű.
Az adatok és a viselkedés szétválasztásának céljával ellentétes az elképzelés, amit ugyancsak itt vezettek be, a data-*
attribútumok. Ezeknek annyi a szerepe, hogy az alkalmazásunk számára tárolhatunk bennük további információt, és JavaScript segítségével dolgozzuk fel őket – ennyi erővel kerülhetnének (független) szkriptblokkba. Használatuk további hátránya, hogy elérésük lassú, egy natív adattömbből 30-40-szer gyorsabban lehet kikeresni ugyanazt az adatot, de ha ezt a népszerű jQuery rutinkönyvtár segítségével tesszük, a különbség ezerszeres (!) is lehet.
Miért fontos a szemantikus jelölés?
A napról napra növő internetes adatmennyiséget csak és kizárólag gépileg lehet hatékonyan feldolgozni, így elsődleges feladatunk az kéne legyen, hogy ezt maximálisan támogassuk. Jelenleg a minket érdeklő információnak csak egy apró töredékét érhetjük el, egyszerűen azért, mert nincs időnk eleget keresni. Leggyakrabban gyűjtőoldalakat (pl. portálok) használunk a szűrésre, de ez a lehetőség is korlátozott, ráadásul mások válogatják ki számunkra, hogy mit olvassunk. A modern web egyik fontos találmánya a címkék bevezetése, de ezek mindig csak az adott webhelyen belül működnek, és így sem lehet sok helyen egyszerre egynél többre keresni.
Kellemetlen tényekkel szembesülhetünk, ha megnézzük a statisztikákat: 2003 és 2013 között a webhelyek száma nagyjából megtizenhatszorozódott, míg az egyes oldalakra jutó látogatók száma az ötödére csökkent. Ez azt jelenti, hogy a tulajdonosoknak ötször annyi embert kell megszólítani hirdetésekkel, ha ugyanakkora forgalmat szeretnének. Bár az eszközök fejlődésével nyilvánvalóan rövidebb idő elkészíteni egy weboldalt, azaz csökkenhetnek a költségek, de egy webhely teljes életiklusában ez elenyésző kiadást jelent a marketingkiadások mellett. Ebből következik, hogy a lehető legrosszabb döntés volt a fejlesztők kényelmének kiszolgálása (pl. HTML5) a keresés hatékonyságának növelése helyett.
Jelenleg legfeljebb szövegekben található pár szóra tudunk viszonylag hatékonyan keresni, a webhelyek keresőoptimalizálásakor is általában egy-két szóra fókuszálnak. Node mi intézhető el két szóból? A férfiember, ha szoknyákat kergetni indul, nem csak „szőke nő” az elvárása, hanem továbbiakat is fogalmaz meg: például legyen csinos, házias, cserfes és így tovább. Amennyiben az interneten tárolt adatainkat további jelentéssel ruháznánk fel és egységesen jelölnénk meg, lehetővé válna a szűrésük.
Ezen az elven most is kereshetőek weboldalak, magyarul például az ingatlanokra specializálódott ingatlan.com vagy a széles választékkal dolgozó Árukereső vagy Olcsóbbat.hu, de olyan korlátozással, hogy csak az általuk megadott kategóriákból, valamint a saját rendszerükbe felvitt adatokból lehet válogatni.
Milyen előnyökkel jár, ha az adatokat különválasztjuk a megjelenéstől?
HTML-ben – mivel felületleíró nyelv – még a legjobb szándékkal is csak spagettikódot lehet írni, amiben keveredik a szezon a fazonnal. Aki egy kicsivel is továbblépett a kezdő szintről, tudja, hogy az ilyen átláthatatlan, karbantarthatatlan, és már rövid távon is csak bajjal jár. Ahogy a stílusokat is elválasztottuk a HTML-től (ebből lett a CSS), a viselkedésnél is minden szkript külön fájlba kerül, ha továbbvisszük ezt a logikát, bizony az adatok sem tartoznak a végleges kódba.
A HTML alapvetően egy önző formátum, ahol az adatszolgáltató dönti el, adatait milyen formában tekinthetjük meg. Ez egyrészt amiatt hibás felfogás, mert a dizájn mint divat elég gyorsan változik, ami tíz éve még jól nézett ki, ma már szinte biztosan elavultnak hat. Másrészt a kimenetben az adatok a szolgáltató elképzelése szerint vannak csoportosítva, sorrendezve, más van kiemelve, s ezek nem feltétlenül egyeznek meg azzal, amire az adat igénylőjének szüksége van.
A mikroformátumokat úgy találták ki, hogy meglévő HTML kódunkat „díszítsük” fel, és jelöljük meg, hogy melyik adat mit jelent. Ez alapvetően jó is lenne, csak a kivitelezésnél derül ki, hogy igazából hatékonyan csak a gépileg előállított adatokat lehet szemantikusan megjelölni, az ugyanis nem várható el egy folyószöveg (például blogbejegyzés) írójától, hogy a végleges anyag HTML kódján végigmenjen minden szón, és adja meg, hogy mi milyen objektumot takar. Emellett a HTML-ben rengeteg olyan elem van, aminek dokumentumstrukturálási szerepe van (<header>
, <aside>
, <span>
), azaz a feldíszített kódból több munkával jár a szemantikus objektumok összegyűjtése, mintha helyből egy külön adatfájlban, strukturáltan lenne minden adatunk megadva. Amennyiben adatainkat különválasztjuk a HTML-től, rákényszerülünk arra, hogy szemantikusan megjelöljük, mi mit jelent, míg abban az esetben, ha a HTML-nél maradunk, Pató Pál szelleme fog kísérni minket munkánk során.
Ha adatainkat „beleégetjük” a HTML-be, akkor azokat leginkább csak böngészőn keresztül tudják megnézni, pedig a felhasználók részéről egyre növekedik az igény, hogy más platformokon is elérhessék azokat. A mobileszközök hardveres korlátai (teljesítmény, memória, akkumulátorkapacitás) miatt megnőtt az igény a natív alkalmazásokra, így a fejlesztésnél rengeteg időt spórolhatunk meg, ha adatainkat különválasztjuk a megjelenítéstől, hogy bármilyen szoftverkörnyezetből könnyedén elérhessük azokat.
A weben ma már egyre kevésbé a HTML az alapvető kommunikációs forma. Ez persze nem azt jelenti, hogy mindenkinek pusztán csak adatokat kell küldeni, a buta klienseknek – mint például a böngészők – segítséget kell adnunk a megjelenítéshez.
Internet of Things
Sok gyártó nagy terve, hogy (háztartási) eszközeiket rákössék az internetre, amelyek így kommunikálni tudnak velünk és egymással. Ez sok előnnyel járhat, például egy jól koordinált rendszerben jelentős mennyiségű energiát takaríthatunk meg, mert például csak akkor fűtünk, amikor szükséges, hűtőnk nyilvántarthatja, miből mennyi van benne, azok szavatossága mikor jár le, és üzenetben tájékoztathat minket, hogy legközelebb mit vásároljunk a boltban és így tovább. Összességében ezek az okosnak titulált eszközök csökkentik a gondolkodásra szánt időnket, amit így sokkal kellemesebb és kevésbé megerőltető tevékenységekre fordíthatunk, például fogyasztásra, így más iparágak is fellendülhetnek ettől a technikai forradalomtól.
Ami ebből minket, fejlesztőket érint, hogy mivel a weben keresztül folyik a kommunikáció, érdemes lesz egy közös nyelvet találni a feladatra. A HTML többek között a fentebb említett tulajdonsága, az adatok és a megjelenés szét nem választása miatt erre nem a legalkalmasabb. Emellett a kazánomat nem érdeklik a <header>
és <footer>
elemek, de a hűtőmet sem hozzák lázba a legkörültekintőbben megírt JavaScript kódok. Ezeket a háztartási eszközöket nem cserélik le kétévente, a gyártók így egyszerű, hosszú életű megoldásokra törekednek. A legtöbbjük wifi segítségével, esetleg az elektromos hálózaton keresztül tartja a kapcsolatot, így irányításukhoz elegendő egy tablet vagy egy telefon. Elég, ha pusztán adatokat küldünk és fogadunk tőlük, így visszatértünk az előző fejezet problémájához, hogy azoktól válasszuk külön a megjelenítést.
Ha mindez megvalósul, a weben a forgalom egyre kisebb része lesz az, amit emberek bonyolítanak le böngészőkkel, és egyre többet kommunikálnak egymással a gépek. Emiatt célszerű lenne ezt fejleszteni, a HTML-t pedig lecsupaszítani a szükséges minimumra, hogy a lehető legkevesebbet kelljen vele foglalkoznunk.
■
Sablonozás
Sablonozás
template
elem semmiben sem segít, a sablonozás logikáját ugyanúgy nekünk kell megírni, azaz egy jottányit sem vagyunk előrébb, mint eddig.Logika
+1 / ♥ /
Gyakorlatilag minden
+1, szerintem is teljesen
Példa
Viszont hiányolom a példát, valami egyszerűbb eseten keresztül bemutathatnád: te hogyan csinálod az adatok szétválasztását?
És egy aprócska megjegyzés:
(Annyira nagy nagyságrendben is a hálózat és a net közötti feszültség- és áramerősség-különbség.)
Viszont hiányolom a példátÍgy
Ez kb. soha nem fog megvalósulni
+1 -1
Vonalas telefon
A linkelt oldal egy
Igaz
Hát, van már csónak az óceánhoz mégis, csak még én nem láttam...
miért?
Gyorsabb
elektromos hálózaton egy
ilyen már régóta van
működik olyan rendszer, ahol 3 szálú vezetéken megy minden.
Nagy stúdiókamerák esetén ez így működik.
A három szál vezetéken megy a tápfesz, a kép, a fülhallgató hangja, a súgógép
képe a ccu vezérlése /optika és írisz mozgatás/
ld. részletesebben frekvencia és ampitúdó moduláció
Tudom, ez programozás-nyelv téma, csak mellesleg jegyzem meg.
Nem rosszabb, mint az én
Szerintem
az emberek, emberekkel akarnak kereskedni, emberekkel akarják közölni a gondolataikat. ha egy adott eszköz alkalmas erre, használják.
létrehozhatsz szuperobjektumokat, szabványokat a gondolatok leírására. ezek használata komoly tudást igényel, valamint egy-egy dolognak sok nézőpontja lehet ha leírod egy struktúrával, ha valaki más miatt keresi az adott tartalmat, nem fogja megtalálni.
azt sem várhatod el, hogy a kis energiával létrehozott dolgok ne működjenek, működhessenek, ha megfosztod a html-t ettől a tulajdonságától, akkor kialakul helyette egy ugyanilyen.
valamint egy kereső sosem lesz jó, ha csak profin létrehozott tartalmakat tol eléd, mert a 'külcsíny' a pénzzel arányos, nem a tartalommal.
ha van az iparnak egy meghatározott csoportja akik jól megfogható dolgok mentén működnek együtt, akkor alakítsanak ki közös szabványt munkájuk megkönnyebbítésére, ha nem elégedettek az adott folyamat hatékonyságával.
nincs egy jó megoldás, nem rossz a html, csak organikus :)
szerintem.
Nem állítom, hogy a HTML per
A html, css, js szerintem
a felhasználókat nem érdekli mi módon jutnak el hozzájuk az adatok, a megrendelők is hoznak döntéseket, vagy tudják hogy miből választanak, vagy nem.
Semmi sem akadályoz meg abban, hogy a szerverről elküldött strukturált adathalmazból állítsd elő a html-ed, pl ahogy tetted azt valamelyik wl sörözés jelentkezésénél. De kit érdekel? :)
Tehát saját magad olyan struktúrát alkalmazol, amilyet akarsz. Adott esetben gazdasági partnereddel szintén olyan struktúrát használsz amilyent akarsz. Miért akarná bárki is ezt beledobni a világba? Vagy mi lenne ezáltal jobb? nem teljesen értem.
Nem látom át, a nagy pozitív hozadékát, nem hiszem hogy nem sérülnének érdekek. No mindegy, bocs nem akarom szétoffolni a cikkedet, kíváncsian várom a folytatást.
Nem mindenki HTML-ben várja
A felhasználót nem érdekli,
Ezt kifejtenéd?
Lásd az írás utolsó
Ohh. Hát be lehet szórni egy
Egyébként ezekkel már sokan csinálnak automata öntöző rendszert, és hasonlókat. Ha megengedhető a néhány másodperces késés (szóval nem annyira fontos, hogy realtime legyen a vezérlése a dolgoknak), akkor teljesen működőképes és olcsó megoldások.
+1
az emberek, emberekkel
Csak az utolsó részre reagálnék
Nincs sehol sem html alapú adattárolás.
A megjelenítéssel nincs gond.
Kevés fejlesztő / döntéshozó foglalkozik ezzel, mert kevés fejlesztőnek / döntéshozónak okoz problémát.
Ha az ipar egy részének gondot okoz az adatcsere, üljenek össze csinálják meg maguknak (pl gagyi példával akár árgép, stb.). vagy ha az állam támogatni szeretne egy területet fektessen le B2B szabványokat (persze fontos hogy csinálja jól, és vonja be a szereplőket).
Nincs sehol sem html alapú
Információközlési forma. Az
És már régebben is említettük páran, ha jól emlékszem: a weblapok üzemeltetőinek egyáltalán nem érdeke a legtöbb esetben, hogy feldolgozható formában adja át az információt, mert abból neki kára származhat.
HTML-t is lehet alkalmazni
(Nyilván pont ezért nem is használják rá, csak adat közlésre, hogy REST-es szószedettel éljek, reprezentációs formátum.)
Legalább harmadszor említed a
Talán azért említem, mert
És akárhányszor leírtad a
Megfelelő algoritmussal.
Én pl. szívesen leszedném a tévéműsort valahonnan XML formában, ha megbízható forrásból származna, de arra nem vagyok kapható, hogy a port.hu oldalaira parsert írjak.
Tapasztalatok
Szeretném egy konkrét példával demonstrálni, hogy miképp nézhet ki egy ilyen project: Történt ugyanis, hogy ~2 éve megelégeltem vim-ben található PHP omni-complete adta találatok minőségét főleg, hogy mennyire hiányosak a beépített függvények, osztályok, konstansok listái.
Körülnézve a php.net-en nem találtam adatbázist vagy direkt csak gépi feldolgozásra szánt formában meg ezeket az információkat, az egyetlen teljesnek tekinthető adatforrásnak a letölthető xhtml fileok bizonyultak. Ez összesen ~12 ezer fájlt jelent, pár relatíve szabványos oldal formátumot és rengeteg kis kivételt. Az elkészült feldolgozó csak hozzávetőleges pontossággal és elég sok próbálkozás árán összerakosgatott xpath halomként született meg (pl). A kimenet valami ilyesmi a feldolgozás után, de kód futás közben rendelkezik minden paraméterhez külön adatszerkezetekkel.
Végeredményről elmondható, hogy működik, de xhtml ide vagy oda elég fájdalmas ezekkel dolgozni (bár nem annyira mint amennyire elején féltem tőle) annak ellenére, hogy a fileok legalább részben gépi generáltnak tűnnek (feltételezem extension-ök kódjából) és számomra érdekes részei többnyire mentesek az emberi hibáktól.
U.I.: Érdekes, hogy pont a port.hu-t hoztad fel példaként mert személyesen ismerek olyat aki port.hu-nál dolgozott és folyamatosan arra panaszkodott, hogy mindenki az oldalt crawlolja és felzabálják szervereik erőforrásait (és persze így nem nézik a reklámokat...) Pl.: OSX-es porthu widget. A TV műsorból csinál XML-t egyébként backendje (nem tudom mennyire publikus ez mondjuk, a widget kódjában talátam).
Nem tudtam, hogy vannak ilyen
(tévedés joga fenntartva)
Ha már most is sok az automatizált "nézelődő", képzeld mi lenne, ha valóban olyan formában jelenne meg, hogy elég egy XML-t lekapni, nem kell utólag kibányászni a sok szemét közül a lényeges adatokat!
Szóval továbbra is ott tartok, hogy feleslegesnek érezném a nyers adatokat publikálni, ha látogatókat akarok az oldalamon és nem automatákat.
Ez azt hiszem inkább hibás
Ha böngészőben lekérsz
Nem szeretnék különösebben belemenni ebbe az agyrémbe, de az oldalak nagy részét adatbázisban tárolt adatokból generálják a weben, így a HTML egyáltalán nem adattárolási forma. Maximum adattovábbításra használják, de valamikor még erre sem, pl amikor visszaírják, hogy hiba történt a kérés feldolgozása során, vagy 404, az oldal nem elérhető. Ilyenkor nem a szerver által tárolt adatokat továbbítják, hanem csak állapotot, amibe a kérés feldolgozása során jutott a szerver. (Természetesen a HTML felhasználható adattárolásra is, de mivel pocsék benne, ezért senki nem fogja ilyesmire használni. Nem véletlenül megy annyira nyögve nyelősen a szemantikussá tétele.)
Igen, amennyire én tudom, a
Ha az oldal készítője ezt megfelelő iránynak tartja, publikálhatja a HTML dokumentumok elkészítéséhez felhasznált adatokat gépek számára könnyen feldolgozható formátumban is.
Pontosan. Egyébként microdata
Absztrakció
Értem, hogy mire akarsz
Összességében nagyon
Imho. az elmúlt 20 év
</>
-el a string-ről. Első ránézésre ez inkább a sablonnyelvekre hajaz szerintem, amik nem kimondottan alkalmasak komolyabb programok irására.)Szerintem nagy előrelépés, hogy végre elfogadták, hogy a HTML az, ami, és a HTML5-ben ilyen téren próbáltak fejleszteni a nyelven, és egyértelműsíteni, hogy melyik tag, mit jelent. Pl a header, video, audio, svg, stb... tag-ek nekem nagyon tetszenek, sokkal egyszerűbb velük dolgozni, mint a HTML4-es megfelelőikkel. Amit sajnálok, hogy a régi berögződéseket, pl az egyes tag-ek önkényes rövidítését p(aragraph), div(ision), b(old), i(talic), s(trike), br(eak), stb... nem sikerült elfelejteni, holott egyik sem hosszabb, mint mondjuk a blockquote, amit csodák csodája, nem bq-val jelölnek. A visszafele kompatibilitást én egyáltalán nem tartom problémának, hiszen 5.0-s verzióról van szó, és aki kicsit is tájékozott ilyen téren, az tudja, hogy a major verzió váltás visszafele nem kompatibilis dolgok bevezetésénél indokolt.
Amit én most trendnek látok, hogy minden js felé tolódik el, mert az egy programozási nyelv, és ténylegesen egyre inkább az a web nyelve, szemben a HTML-el és CSS-el, amiket csak adat megjelenítésre használnak. Js-nél a felsorolt problémákra, mint pl: model-view szétválasztás (backbone, angular, knockout, stb...), metaadatok leírása (JSON-LD - RDF formátum), sablonok (pl mustache), kommunikáció (AJAX, WebSockets), stb... már léteznek jól működő, vagy kiforróban lévő megoldások.
A szemantikus web és a webalkalmazások közötti ellentmondást JSON-LD + Hydra + REST alapon lehet feloldani. Ebből a HTML részt a JSON-LD + Hydra + (egyedi) Hydra kliens, ami helyettesíti. A JSON-LD az adatokat és a metaadatokat tartalmazza. A metaadatokat RDF vocab-okhoz, pl schema.org vagy Hydra vagy más (open) linked data vocab-ok köti, így azok alkalmasak lesznek gépi feldolgozásra feltéve, hogy a feldolgozó program ismeri az adott vocab szókészletét. A Hydra egy RDF vocab, és hamarosan egy W3C szabvány is lesz a REST webalkalmazások leírására. Amiért leginkább szükség van rá az a hyperlinkek (és űrlapok) megjelölése, így a Hydra (REST) kliens tudni fogja, hogy milyen linkeket tud követni. Ez roppant fontos, ha gépi klienseket, pl keresőrobotokat akarunk kiszolgálni. Gyakorlatilag 100%, hogy a google támogatni fogja a Hydra-t is ugyanúgy, mint a JSON-LD-t. Amint a szabványosítás befejeződött, el lehet kezdeni webalkalmazásokat írni ezzel a technológiával, és hozzájuk klienseket. Ezek a kliensek lehetnek hagyományos böngészőben írt AJAX-os kliensek, vagy keresőrobotok, vagy felolvasó programok (akadálymentes web), vagy magasabb absztrakciós szintű webalkalmazások. A szabványosítás szerintem még 1-2 év, utána valószínűleg néhány éven belül már nem nagyon lesz más stílusban írt webalkalmazás, ha a websocket és a hagyományos HTML alapúakat nem számítjuk. A jelenlegi külföldi trendek is olyanok, hogy mindenki REST-ben próbál tákolni (csak sajnos a megfelelő tudás hiányában), viszont ezt a problémát a szabványosítás és tutorialok írása teljes mértékben fel fogja oldani. Hosszú távon (20 év) ez a folyamat valószínűleg elvezet a mesterséges intelligencia megalkotásához, mert az internet ki tudja szolgálni az ahhoz szükséges roppant számításigényt (a REST a teljes webre skálázható), illetve a linked data cloud képes a hozzá szükséges metaadat gráf leírásához. Igazából ez nem is akkora meglepetés, ha azt vesszük, hogy az egész szemantikus web koncepciót mesterséges intelligencia megalkotásához találták ki, és jóval többről szól pusztán a kereshetőségnél.
Így látom én a jelenlegi trendeket.
Köszönöm
Újdonság?
Két és fél évvel ezelőtti cikkben rákérdeztem, hogy tudnánk-e konkrétumokról beszélni, de azóta sem jutottunk el oda. Még ma is ott tartunk, hogy "fel kell hívni a problémára a figyelmet", szerintem ezen már túlléphettünk volna. Ennél még a HTML5-öt is gyorsabban véglegesítették!
Azt gondolnám, hogy mindenki számára teljesen egyértelmű, hogy a HTML megjelenítésre szolgál. Ha majd a hűtőszekrény kijelzőjén lesz alul egy sáv, amely a hőmérsékletet fogja jelezni, és tetszőleges képernyőn fixen ott lesz, akkor azt a footer tag-be tesszük. Nem látom, hogy ezzel mi a gond. Ám, ha nem tetszik a footer tag, akkor ne használd, senki nem fog megszólni miatta.
JQuery a maga egyszerűségének köszönhetően méltán népszerű, de ma már azt gondolnám, hogy mindenkinek egyértelmű, hogyha sebességre érzékeny feladattal szembesül, akkor arra a feladatra nem ezt használja. Számtalan gyorsabb alternatíva létezik, illetve sok kezdeményezés létezik arra, hogy ha lehet, akkor használjuk natív JavaScript-et. Ma már nem mondjuk azt, hogy irányváltás szükséges, mert lassú a JQuery. 4-5 évvel ezelőtt ez még meglepő mondat lehetett, de ma már komolytalan, hogy a JQuery lassúságával indokoljuk az irányváltás szükségességét.
Az is egyértelmű, hogy az adatokat különválasztjuk a megjelenítéstől. Ám ez már húsz évvel ezelőtt is alapértelmezett volt. Itt sem látom, hogy szükséges lenne irányváltás. Engem perpillanat egyáltalán nem zavar, hogy ebből a különválasztásból a látogató semmit sem lát. Egyáltalán nem érzem problémának, hogy a végleges HTML oldalon a felhasználók nem tudják könnyedén szétválasztani az adatokat a megjelenítéstől. Szeretném kihangsúlyozni, hogy ezzel sem a felhasználóknak, sem az ügyfeleknek nem okozok kárt. Teljesen felesleges ilyen nagy szavakkal dobálózni, az még tényleg bosszantó, hogy továbbá lustasággal vádolod azokat a fejlesztőket, akik nem az általad elképzelt módszertanokat használják. Ám ismét megjegyzem, hogy nem is ismert az általad helyesnek elképzelt megoldás, mert állandóan csak az a téma, hogy a jelenleg népszerű trendek miért nem tetszenek neked.
Bár nem először, és valószínűleg nem is az utoljára, ám mégis fontosnak tartom megemlíteni: Sokkal jobb lenne, ha nem arról szólnának a cikkek, hogy mi miért nem jó, mi miért nem használható, hanem arról, hogy mit használjunk, miként használjuk.
szerintem ebben az égvilágon
Mutass még egy szakmabelit...
Én egy két és fél évvel ezelőtti témát mutattam! Ugye ezt te sem gondolod, hogy rövid idő lenne? Véleményem szerint a pozitív példát szívesen követnék az emberek, a "ne használjátok, mert nem tetszik és amúgy sem jó" hozzáállást meg nem csodálom, hogy nem követik tömegek.
Bár megjegyzem, hogy ha két és fél év alatt egy embert nem találtál, aki ebben a témában egyetértene veled, akkor érdemes lenne elgondolkodni, hogy jól fogalmazod-e meg a problémákat, illetve helyesen teszed-e fel a kérdéseket?
Valószínű a megoldás szón nem ugyanazt értjük. Azért ennél konkrétabb és jobban átgondolt kifejtésre lenne szükség ahhoz, hogy arról érdemben lehessen beszélgetni. Ami fent elhangzott az nagyon messze van a megoldástól.
Azért kellene újraalkotni a HTML-t, mert van egy mini eszköz, ahol eddig sem akart senki sem HTML-t megjeleníteni? Na, ezt azért gondoljuk újra! Ez most nekem csupán egy mondvacsinált probléma, emiatt nem kell kidobni a HTML-t, és emiatt ne szidjuk a HTML5 újdonságait!
Én nem tudom, hogy miért született meg ez az írás.
Néhány alkalommal adtam már cikkírásra a fejem, remélem, hogy az általam elvárt kritériumoknak megfeleltem. Ám ha ezek a cikkek a WL-en lennének sem befolyásolná azt a képet, hogy a Te cikkeidből/hozzászólásaidból a negatívumok jönnek. Ám magad írtad le, hogy az elmúlt években senkit nem tudtál rávenni, hogy foglalkozzon a témával, ezért bátorkodom javasolni, hogyha a témában továbbra is hiszel, akkor próbálkozz a megfogalmazás módján javítani, hátha sikeresebb leszel!
érdemes lenne elgondolkodni,
Leírom harmadszorra is szívesen: szerintem az interneten alapvetően adatokat kéne küldeni. A böngészőknek adni kell egy mankót, amivel az adatokat HTML-ben meg tudják jeleníteni, minden más eszköz pedig oldja meg magának úgy, ahogy tetszik.
Mindenesetre a kérdéseid és a felvetéseid ellentétben állnak azzal a kijelentéseddel, hogy becsülettel átolvastad a cikket.
Miért magyarul?
Ám egy valamit tényleg nem értek, ezeket a cikkeket miért magyarul és miért egy magyar nyelvű portálra írod? Mert az azért teljesen egyértelmű, hogy azokhoz nem jutnak el az aggályaid, akik befolyásolni tudják, hogy több vagy kevesebb elemű legyen a HTML elemkészlete.
A vázolt üzleti modellt
A website-ok és szolgáltatások számának növekedését szolgálja, hogy egyre több (nyílt forráskódú) kész megoldást lehet kapni, lásd wordpress-alapú oldalak, kész webshop-motorok stb.
Azért magyarul írok, mert a magyar webes szakembergárda ugyanolyan képzett, mint a külföldi (hála a szakma nyíltságának és az angol nyelvű dokumentációknak), és ha bármit sikerül is alkotni, az nemzetközileg is megállja a helyét.
Ha az a cél, hogy...
Másik, hogy miért gondolod, hogy az új üzleti modellek nagy része a hatékony keresések felé fog elmozdulni? Én nem zárom ki, de nem is látok ráutaló magatartást.
Illetve ismét megkérdezném, hogy miért az aktuális trendeket látod a főgonosznak, miközben a keresés ma egyenlő a Google-lel, ha ő nem talál meg téged, akkor a weboldalad rossz, ha ő jó pozícióba helyez téged, akkor a weboldalad jó. Tökéletesen lényegtelen, hogy van-e header tag vagy sincs, ma a kereshetőségnek Google pozíció a mérőszáma.
Ha az a cél, hogy találjunk
"Kellemetlen tényekkel szembesülhetünk, ha megnézzük a statisztikákat: 2003 és 2013 között a webhelyek száma nagyjából megtizenhatszorozódott, míg az egyes oldalakra jutó látogatók száma az ötödére csökkent. Ez azt jelenti, hogy a tulajdonosoknak ötször annyi embert kell megszólítani hirdetésekkel, ha ugyanakkora forgalmat szeretnének."
"Ebből következik, hogy a lehető legrosszabb döntés volt a fejlesztők kényelmének kiszolgálása (pl. HTML5) a keresés hatékonyságának növelése helyett."
Azért a <header> tag meglétén múlik a keresési megoldás sikere, mert amíg az új tag-ekkel bohóckodik a világ webfejlesztőinek 99%-a, addig nem azzal foglalkoznak, hogy metaadatokat adjanak meg az oldalaikon. Ha a <div>-ek átnevezése <section>-né hét évig tartott, akkor egy adatalapú web mennyi ideig fog? Vesztegetjük a saját és a látogatóink idejét.
A saját érdekünk, hogy a potenciális látogatók megtalálják az általunk készített oldalakat, mert közvetve belőlük élünk. Ezért feladatunk, hogy a kereshetőséget javítsuk - amivel persze más is foglalkozik, de nem lehet a felelősséget mindig elhárítani.
a Google csak szöveges
Ez egyáltalán nem így van, a google RDF-ben is tud keresni, csak ezt baromi kevesen használják ki.
Mi ennek a speciális
Arra gondoltam, hogy a google
Ha már szóbakerült, megkérdem őket, hogy mikorra tervezik a sparql supportot, hátha lesz...
Speciális keresés Írásjelek,
Írásjelek, szimbólumok és operátorok a keresésben
Akárhogy nézem, csak szövegben tud keresni. Teljesen más tészta, hogy bizonyos tag-eket felismer, és azok tartalmát meg tudja jeleníteni a találatok között, de ezeket az adatokat szűrésre nem lehet használni.
Nálam a szöveg, mint
Ebben egyetértünk. Vegyük a
about="http://www.example.com/books/wikinomics">
<span property="dc:title">Wikinomics</span>
<span property="dc:creator">Don Tapscott</span>
<span property="dc:date">2006-10-01</span>
</div>
Hát először ki kell keresni a
Csak, hogy valami építő jellegűt is írjak:
http://purl.org/dc/terms/creator
-re. A google ha jól tudom mindkettőt csinálja.Egyébként ha gondot okoz az RDFa vagy microdata parsolása, akkor én a helyedben egy már meglévő parsert keresnék ahelyett, hogy egy újat írnék. Don't reinvent the wheel!
?
Szerintem olvass vissza. Nem
Akkor nem értem, minek
Most örülünk? :)
Örülünk, Jules
Hol?
Példa
Azért hoztam fel példaként, mert ezt az adatmodellt lehetne kiterjeszteni az internetre, lásd az írás utolsó előtti bekezdését.
Azért hoztam fel példaként,
Folyamatban van már baromi sok éve. Nem mondtál vele újat, szemantikus webnek hívják.
Szerintem baromira eltúlzod
RDF vocab-ot bárki gyárthat, akinek kedve van, csak az eredmény általában nem túl fényes, mert sok munkát, tapasztalatot, és átgondolást igényel egy ilyen szókészlet összeállítása. Mivel az ingatlanozás az árukereskedelem mellett alap dolognak számít, ezért gyakorlatilag biztos, hogy létezik már RDF vocab, ami speciálisan ingatlanozáshoz kell. Elég lenne ezt a vocab-ot támogatni a google-nek, illetve ezt a vocab-ot kötni az ingatlanos oldalaknak az adataikhoz. Mivel vagy a menedzsment nem tud erről a lehetőségről (mert a fejlesztők sem tudnak), vagy a menedzsment úgy döntött, hogy valamiért szerintük ez ellentétes az üzleti modeljükkel, vagy szimplán nem érné meg a belefektetett energiát, ezért nem valósult meg.
Amúgy elég sok oldal van már, ami köti az adatait a schema.org vocab-hoz: http://getschema.org/index.php/List_of_websites_using_Schema.org.
Van már pár olyan oldal, ami a hydra-hoz is (ami később lehet, hogy a schema.org része lesz), így akár előfordulhat, hogy a végén meg sem kell látogatni egy webshop-ot, hanem a google-ben is fel lehet adni majd a rendelést.
Imho sosem lesz olyan, hogy pl dc:creator, vagy bármilyen egyéb szemantika szerint lehessen keresni a mai google interface-en. Az embereknek van kitalálva, akiknek a 99.9%-ának fogalma sincs arról, hogy mi az, hogy vocab, vagy dc:creator, vagy hogy mennyire fontos a keresésben, hogy egy szóalakhoz több jelentés is társulhat. Én személy szerint sokszor azzal vagyok bajban, hogy csak a témakört ismerem, meg nagyjából tudom, hogy milyen fogalmat keresek, de nem tudom rá a szakszót. Ebben pl sokat segíthetne, ha fellapoznék egy RDF vocab-ot a témában, és átnyálaznám a szakszavait. Sajnos ilyenre a google jelenleg nem alkalmas, az RDF vocab-ok meg még nem fednek le minden témakört kellő alapossággal, főleg ha tudományos kutatásokról van szó, és nem mindennapi dolgokról. Szóval én személy szerint tudnám használni, de ez már inkább kutatómunka, mint sima keresés.
Akkor lehet, hogy itt az
Hát van már egy sereg árgép
Ha nem szeretnék a kereskedők
Ha nem lehetne már most is összegyűjteni az adatokat, nem működne a liligo.
Ha nem használják az RDF-et, annak az lehet, az oka, hogy túl bonyolult. Talán egyszerűbb modellt kéne használni.
Nem létezik egyszerűbb model
Az adatokat csak akkor nem lehet összegyűjteni keresővel, ha nem jelennek meg az emberek számára sem. Ami kikerül a webre az onnantól már nem titok, és bármikor crawlerrel le lehet nyúlni. Ezt maximum megnehezíteni lehet, amit meg is próbálnak sokan.
Egyébként ha megnézel egy lufthansa oldalt, akkor ott szopás van orrba szájba csak azzal, hogy listázd a találatokat. Nem véletlenül alakították ki ilyenre. Egyáltalán nem egyszerű crawler-t írni rá. Ha érdeke lenne a lufthansa-nak, hogy összehasonlítsák a wizzair-rel az árait, akkor biztosan könnyen hozzáférhetővé tették volna azokat.
Összességében annyit tudok írni a témáról, hogy a kereshetővé tétel növeli a piaci versenyt, lejjebb nyomja az árakat, és ha webshopokról van szó, akkor arra készteti a cégeket, hogy versenyezzenek az olcsóbb, de nem feltétlenül ugyanolyan minőségi szolgáltatást nyújtó cégekkel. Ez ár szempontjából jó lehet a fogyasztónak, de korántsem biztos, hogy egy alacsonyabb minőségű szolgáltatást alacsonyabb áron használva ugyanazt kapja, mint amit elvár. Ez teljesen szolgáltatás és piac függő.
Nem létezik egyszerűbb model
A második bekezdésedet sok szeretettel küldöm H.Z. kollegának.
Senki nem fog vissza, hogy
Csakhogy itt - ha jól értem -
Lásd: autó és piros szavak önmagukban semmit sem jelentenek ha piros autót keresel, csak ha valahogy felismered, hogy a piros az autó színe és nem mondjuk a rajta lévő gumiabroncsé.
Az írott szöveg olvasására
Az RDF-et a gépek erőlködés nélkül tudják olvasni, ezért pl a beágyazott JSON-LD egy teljesen jó megoldás. A HTML+RDFa vagy HTML+microdata már kevésbé jó, mert a HTML struktúrája és az adat struktúrája nem minden esetben követi egymást, és valamikor problémás lehet összeegyeztetni a kettőt. Ettől függetlenül valószínűleg az esetek döntő többségében az is használható.
Igen, pont arról beszélünk, hogy nem elterjedt RDF-el vocab-hoz kötni a megjelenített adatot, ezért nehezen kereshetőek a weboldalak.
ddg hacks
Nem tudom mennyire ismered/ismeritek DuckDuckGo-t de ha "új felület" ötletekből akartok pár élő példát akkor érdemes lehet itt körülnézni. Pl. ha ha rákeresek "orange"-ra akkor a kapok egy sor "meanings"-et, illetve lehet ún. "instant answer" hackeket gyártani amivel tetszőleges szolgáltatásból lehet ehhez hasonló a szokásos találatok felett megjelenő listát generálni (Pl). Jelenleg nem tudok olyan API elemről náluk ami crawlerjük által talált rdfa vocab vagy hasonlók segítségével kigyűjtött metadatában engedne keresni (ha egyáltalán indexelik ezeket a vocabok alapján), de ha van ilyen adatforrásotok ide be lehet drótozni.
Maga a kereső nyelv afaik semmivel sem okosabb mint googlé jelenleg, de ha kereső oldal irányából tenni valamit az ügy érdekében érdemes lehet nyitni itt egy topic-ot (RDFA-ra keresve nem találtam semmit jelenleg).
Én továbbra sem értem, hogy
Attól függ, mit szeretnél:
Tegyük fel, hogy valaki meg szeretne vásárolni egy könyvet. Ehhez jelenleg át kell nézni n darab kereskedő oldalát, hogy megtudja, egyáltalán van-e raktáron, az üzlet milyen messze van, mennyibe kerül a csomagszállítás stb. Adatalapú internet esetén ezeket az információkat össze lehetne gyűjteni, és egy helyen össze lehetne őket hasonlítani. Pusztán HTML alapú webnél ezt sokan (lásd az általad felhozott példák) nem teszik meg sokan.
Valószínűleg így van, de most
Ez egy érdekes kérdés. Nyilván annak a szekerét tolom, aki fizet. Pl ha az amazontól kapok megrendelést egy fejlesztésre, akkor az övékét. Nyilván van egy piaci rés, amit sokan kitöltenek most már téma specifikus keresőkkel, lásd árgép, oclsobbat.hu, liligo, szallas.hu, és így tovább. Ez nem véletlenül akakult ki. A boltok szeretnék kerülni a versenyt, mert sokan a legolcsóbbnál vásárolnának, ezért nem teszik közkinccsé az adataikat. A keresők meg abból élnek, hogy megírják minden oldalra a crawlereiket, aztán kiraknak egy listát, és így növelik a versenyt. A kicsi boltoknak ez nyilván jó, ők be is regisztrálnak a keresőkhöz. A nagy boltoknak meg rossz, mert a kicsikkel kell versenyezniük online, ahol ugye mások a szabályok, mintha kibérelnek egy nagy hodályt a város szélén, és mindenki hozzájuk jár.
A verseny már csak ilyen, nem
Hiába szeretnék elkerülni a boltok a versenyt, akár a mesterséges intelligencia fejlődésével az árukészletük előbb-utóbb indexelhető lesz, de kézi erővel is lehet írni parsert bármire, à la liligo.
Az adatalapú web megvalósulása csak idő kérdése, és minél előbb vált valaki, minél előbb kezdünk el mi, fejlesztők elmenni ebbe az irányba, annál jobban járunk.
Mi történt két és fél év alatt?
Nem értem, hogy miért várod, hogy más is foglalkozzon az általad fontosnak tartott témákkal, ha magad sem foglalkozol vele. Mert az, hogy a HTML5 hiányosságait sorolod, azzal nem lett a keresés problémája előrébb.
Amennyiben csupán egyetlen egy axiómádat elveszünk az érrendszeredből - hogy nem a keresés a legfontosabb dolog az Interneten - a magyarázataid, illetve a következtetéseid értelmét vesztik, és máris a fejlesztők 99% nem csupán bohóckodik, hanem azon dolgozik, hogy az Internet egyre jobb legyen.
Persze az szép és jó dolog, ha te is ezen dolgozol, és a keresést szeretnéd javítani, de lassan el kellene fogadnod, hogy sokan nem ezt tartják a legfontosabbnak.
De most komolyan, mi történt
Tudnál mutatni pár olyan
Igen
Elsősorban saját, másodsorban
Ami kimaradt: lehetőleg ne hobbi oldalt, hanem olyat, amiért fizetnek is, az oldal gazdája bevállalja, hogy formázatlan adatokat ad ki a rendszeréből, feldolgozható állapotban.
Gyakorlatilag az összes API
Nem, azok API-k. Az szerintem
Én arra gondolok, hogy mondjuk egy index.hu jellegű portál esetében hol találok olyat, ahol a tényleges tartalmat feldolgozható formában publikálják a nagyközönségnek.
Általában RSS feed, vagy
Csak példaként hoztam az
Nem az a kérdés, hogy az index mit csinál, hanem, hogy hol van hasonló jellegű lap, ami Gábor elvárásainak megfelelő struktúrában működik?
Nem API, nem RSS stb., hanem webre szánt oldal, komoly tartalommal.
Egyszerűen látni szeretnék egy ilyet.
Nincsenek elvárásaim a
Évek óta csak az előételt
O.K., de látni szeretnék egy
Ha nincs ilyen... akkor miért nincs egy sem?
Elég régi téma, nemzetközi fórumokon is találkoztam hasonló felvetéssel, de működő oldalt még nem láttam, ami ilyen elvek szerint működne.
De ahogy elnézem, még a http://www.semanticweb.org és a http://www.semanticarts.com/ sem felel meg ezeknek, sima HTML+javascript mindkettő.
Az, hogy van lehetőség az
Amit eddig tőled láttam,
Pl az adatokat bele lehet
Én elvileg kérdezem, hogy
Hát szerintem nem lehet
Mielőtt félreértenél: nem
Úgy emlékszem, amikor egy-két éve ugyanezt körbejártuk, akkor sem sikerült a kritériumoknak megfelelő lapot találni.
Természetesen van ilyen. :)
:D
Azt hiszem erre Gábor tudna
Egyelőre az jött le, hogy az a kínja, hogy a google-ben nem lehet szemantika szerint keresni, amiben végülis egyet tudok érteni vele. Van olyan crawlere a google-nek, ami nézi az RDF-es tartalmakat, szóval igazából csak a user interface-t kellene kicserélni, olyanra, amit programok is tudnak használni mondjuk sparql query küldésével, és bumm. Esetleg meg lehetne kérdezni a felhasználót minden egyes bevitt szónál, hogy a szó melyik jelentésére gondolt. És így tovább. Ilyen szempontból, ha a google nem lép 5-10 éven belül, akkor át fogják venni a helyét más keresők, amikben nem csak szavakat, hanem jelentést is meg lehet majd adni, mert ez a jövője a dolgoknak. Valószínűleg maga a probléma ennél azért sokkal bonyolultabb lehet, mert a feltérképezett weboldalak jelentős részéhez valahogy jelentést kellene rendelni, nem csak szavak szerint indexelni őket. A google-nek ehhez valami mesterséges intelligencián kellene áttolni ezeket az oldalakat, hogy kiköpje miről szól az oldal. Alternatív megoldás, hogy a webfejlesztők elkezdik használni az RDFa, microdata-t, JSON-LD beágyazást, stb... Ezen kívül még gond lehet a keresőkifejezés bevitelével. Mert a sparql-t csak programozók tudják összerakni, más szemantika szerinti keresést megtámogató GUI-t meg még senki nem rakott össze. Jelenleg ők azon dolgoznak, hogy a szövegesen, kérdés formában megadott dolgokat értelmezzék szemantikailag, illetve figyelik az előző keresést is, amiből tudnak nagyjából a kontextusra következtetni. Az átlag felhasználónak lövése sincsen arról, hogy a szó és a jelentése két külön dolog, és nem igazán értenék, hogy maga az RDF miről szól, szóval egyszerűen nincs rá igénye az emberek túlnyomó többségének (99%<) arra, hogy mondjuk egy SPARQL-t össze tudjanak állítani, és beküldeni google-be. A maradékra (<1%) energiákat fordítani meg nem igazán éri meg a cégnek. Na legalábbis én így gondolom, hogy ezért nem tudunk szemantika szerint keresni a google-ben.
Valószínűleg ha jobban elterjednek az igazi REST service-ek, amik RDF-et szolgálnak ki, akkor lesz rájuk külön kereső, amiben meg lehet adni SPARQL-ben (vagy más szemantikus lekérdező nyelven), hogy milyen szolgáltatást keresel, és kidobja majd a service-ek listáját, amik azt a bizonyos szolgáltatást meg tudják neked csinálni, aztán választhatsz közülük, befizethetsz egy hónapra, összekattinthatsz hozzá egy automatizált klienst, vagy végigkattinthatod kézzel manuálisan is, hogy mit szeretnél egy erre specializált böngészővel, ami a HTML-t nem feltétlenül fogja ismerni, csak azt, hogy bizonyos RDF vocab-okhoz kötött adatot hogyan jelenítsen meg. De ez a része szerintem még sok év. Jelenleg az van, hogyha szolgáltatást keresel, akkor felmész google-re, beírod a szolgáltatás leírását meg hogy API, kapsz egy HTML-t, aztán próbálod a találatokból kikeresni, ami neked talán jó lenne, utána elnavigálsz az oldalára, betanulod, hogy milyen plain JSON-t vagy XML-t vár, és megírod hozzá az egyedi klienst.
Ilyen szempontból, ha a
Arra próbáltam célozni, hogy
Maximum egy kicsit nagyobb
Biztos, hogy sokan fognak
De vannak, akik mindenképp
Ez teljes mértékben üzleti model függő lehet. Pl ha megnézed az amazont, náluk sincsen szemantika hozzácsapva a tartalomhoz, ergo nem kereshető. Ugyanígy nincs APIjuk sem, amin keresztül programozottan lehetne rendelni tőlük bármit is. Ha annyira jövedelmező lenne mindent kereshetővé tenni, akkor valószínűleg már léptek volna ez ügyben. És ez csak egy nagy cég, a többit is érdemes lenne átvizslatni, ha van rá időd.
Kisebb cégeknek mindenképp
Köszönet!
gyakori kérdés sok fejlesztésnél, itt is
A képek és az egyediség mellett, máris jöttek a reklámok, később videótartalom, keresést megkönnyítő tartalmak, "legfrissebb, leggyakoribb és hasonló többlettartalmak", meg ami kellett ahhoz, hogy a dokumentum - megintcsak üzleti célzattal - szélesebb tömegeket érjen el, több látogatót vonzzon, nagyobb bevételt és jobb statisztikákat produkáljon.
Nem csoda, ha ezek után felmerül az igény arra, hogy az egyik blokk és tartalma más súlyú legyen, mint a másik, ahogy azt eredetileg ügyesen kitalálták a címeket tartalmazó <hX> tag-ek esetén. A tartalmak más oldalakhoz képest lehetőleg egyedibbek legyenek, többet, több szolgáltatást és lehetőséget nyújsanak (mint a másik weblapja).
A sok bővítés már mind egy-egy dokumentum szerves részét képzi és a konkrét tartalom, amiről az egész szól sokszor elvész ezekben és esetenként kb. mindegy is hogy mi az (lásd ilyen jellegű hírérték nélküli, likegyűjtő, stb. weblapok tömkellege).
És a többi vonzat persze: videókiszolgálás, hálózati forgalom, böngészők felkészítése, biztonsági kérdések, elterjedség-kompatibilitás, jogi kérdések, stb.stb.
Szerintem az újabb html verziók célja részben, hogy ezeket próbálják tisztázni és valamilyen érthetőbb, használhatóbb keretbe foglalni, bonyolultabb szerkezeteket egyszerűsíteni, könnyebben megvalósíthatóbbá és átláthatóbbá tenni, de az alapelvet megtartják - fő verzióváltás ide-vagy oda.
--
Feltétlen újra kellene-e gondolni a html-t? Például "beépített" funkciója legyen egy html dokumentumnak mondjuk egy 3D-s megjelenítés? Hatékony-e ez, kényelmes a fejlesztőknek, a felhasználóknak? Vagy céleszközöket gyártani adott problémára (mint pl egy-egy erre kiélezett speciális alkalmazás, ami mondjuk nem egy böngészőre épül).
Ugyanez a bajom az e-mailekkel is, ami az eredeti célját tekintve nagyon jó dolog, egyszerű, de a mai követelményeknek már a sok hekmány mellett sem feltétlen felel meg.
Ezekre a módosításokra, ahány cég, annyi féle megoldás és ki az aki szívni fog vele? A fejlesztő és a felhasználó. Is-is.
Az ilyen utólagos és nem kismértékű változások eredménye ez az érzés, ami gondolom a cikk íróját is ihlette: Belesűrítünk minden lehetőséget egy olyan "keretbe", amit nem erre találtak ki. Vagy csak megpróbáljuk azt valamilyen - a tech.fejlődést előre nem megjósolható módon - meghatározatlan mértékig bővíteni. Vagy a jelenlegi tapasztalatok alapján nyitunk egy új fejezetet és eltérünk a megszokottaktól?
Szerintem ezt úgyis az fogja meghatározni, hogy mire van igény és milyen áron.
És biztos, hogy nem csak egy irányt fog venni ez a dolog, főleg egy ennyire elterjedt technológia esetén, tehát a különböző megoldások nem feltétlen zárják ki egymást.
pártatlan. :)
Szoktatok bármiről ennyit vitatkozni? :)
Amellett, hogy én inkább szeretnék pártatlan maradni a témában, meg kell jegyeznem, hogy az ellentábor is igen aktív. Ez azt is jelenti, hogy nem érzik biztosan az igazukat.
Mindezt jónak tartom, amíg nem személyes, addig jó vita.
Nem értem itt mik a problémák
A szemantikus web tényleg jó lenne, de a helyzet most elég reménytelen. Egyébként a Google ettől függetlenül szerintem elég jó munkát végez, nagyjából megérti a kereséseket. Ha neked struktúrált formában kellenek adatok, a legjobb esélyed a különböző API-k használata. Ha az API szolgáltatónak megéri, hogy publikus az API-ja, akkor hajrá, használd.
Sokmindent meg lehet
Nekem tetszett a
Ha már irányváltás a téma: azt meg tudnátok mondani nekem, hogy abba az irányba miért nem fejlődnek (jobban?) a dolgok, hogy megszüntethessük a szerver és a kliens oldal közötti technológiai különbségeket? Nekem ugyanis a legnagyobb problémám az, hogy miért kell egy csomó mindent (pl. adatellenőrzések) kétszer lekódolni, egyszer egy szerver oldali nyelven egyszer meg JavaScriptben? Miért nem lehet mindent megírni egy szerver oldali nyelven, és bizonyos kódrészleteket egyszerűen delegálni a kliensre, aki azt ott hajtaná végre? Szerintem ez nagyon vagány lenne és nagyban megkönnyítené a munkánkat.
Üdv:
Dávid
a legnagyobb problémám az,
Emellett egyszerűsödik a kliensoldali kód, de a szerveroldali is, hisz az ellenőrzéseket nem kell két csoportra osztani aszerint, hogy ez le tud-e futni a kliensen vagy sem.
:D
Sokszor elmondtuk már, hogy miért kell.
A semmi nem van, hanem nincs
Lehet, hogy nem volt elég meggyőző az érvelésetek? Nagyjából abba az optimalizálási kategóriába sorolom a JS ellenőrzést, mint amikor az oldal CSS-ét két részre szedik, az elején egy kis stíluslapot töltenek be, ami a kezdőlap megjelenítéséhez szükséges, a végén pedig a többit. Lehet, hogy nyernek egy ezredmásodpercet a renderelésnél, cserébe bonyolódik a karbantartás. Egy jQuery használatával több időt vesztegetsz, mint pár feleslegesnek ítélt kéréssel.
Erről lemaradtam. Hol találok
Hogy célszerű, kliens oldalon is ellenőrizni, az tiszta, de hogy kell/szükséges... ?
UX
Hol lehet találni arra
Nem feltétlenül a idő a baj.
Egyébként kb 1 mp az a határ, ami után a user úgy érzi, hogy valami dolgozik a háttérben, valamire várni kell.
Erőltetett példa
1, kiírd előre, hogy mik az adott mező kritériumai
2, a háttérben AJAX-szal küldözgesd az adatokat ellenőrzésre?
Ha már felhasználói élményről beszélünk.
Az egy másodpercet alátámasztja ez a két link. Tegyük hozzá, egy másodperc alatt sokminden történhet, akár megabájtos adatforgalom is lehet a háttérben. Tehát én nem aggódnék amiatt, hogy lassú lesz az az ellenőrzés.
Tulajdonképpen miért is kell
Miben segít nekem a helyes kitöltésben az, hogy oda vannak írva a szabályok? (azon kívül hogy valószínűleg el sem olvasom, ha meg mégis, akkor sem garantálja, hogy helyes adatokat adok meg)
Tulajdonképpen miért is kell
A szerveroldali ellenőrzést mindenképp meg kell írni, azt nem tudod megspórolni, viszont a kliensoldalon a teljes ellenőrzési listának csak egy részhalmazát tudod csekkolni (~ formai követelmények). Miben egyszerűbb az, ha változik az űrlapod, akkor a kliensoldali kódot is frissíteni kell?
Nyilván jelezni kell, mik a
Ellentmondasz magadnak:
Ezek alapján a két megközelítés felhasználói élménye megegyezik, de a kód egyszerűbb abban az esetben, ha csak szerveroldalon ellenőrzünk.
Ellentmondasz magadnak:
Mint már az előbb is írtam, semmi nem garantálja, hogy helyesen töltöm ki, hiába van odaírva.
Igen, ez megtörténik az űrlap tényleges elküldésekor.
Eleve van kliensoldali logikád (hiszen felküldöd a szerverre, hogy formailag oké-e). Mennyiből tart egy ajax helyett helyben ellenőrizni?
Szoktál használni mobilt netezésre? Ott a gyors internet/megbízható hálózat elég ritka.
Az mondat első felével nagyjából egyetértek (bár lassabb lesz a te megoldásod), a másodikkal nem.
Mint már az előbb is írtam,
Igen, ez megtörténik az űrlap tényleges elküldésekor.
Az enyémben elég kliensoldalon módosítani a kódot.
1, egyszerű űrlapküldés JS nélkül
- elküldés után minden mezőről megjelenik a hibainformáció
2, egyszerű űrlapküldés AJAX nélkül, plusz kliensoldali ellenőrzés
- minden ellenőrizhető mezőre teszünk egy kliensoldali ellenőrzést (formai)
- kliens- és szerveroldalon is meg kell valósítani a formai ellenőrzést
3, AJAX-os űrlapküldés, plusz kliensoldali ellenőrzés
- minden mezőre teszük egy AJAX kérést
- minden ellenőrizhető mezőre teszünk egy kliensoldali ellenőrzést (formai)
- kliens- és szerveroldalon is meg kell valósítani a formai ellenőrzést
4, AJAX-os űrlapküldés, csak szerveroldali ellenőrzés
- minden mezőre teszünk egy AJAX kérést
Legkevesebb munkával az 1-es és a 4-es jár, míg legtöbbel a 2-es és a 3-as. Több munka = több tévedési lehetőség.
A fentiek alapján egyértelmű, hogy a kliensoldali + szerveroldali ellenőrzés hátrányokkal jár a csak szerveroldali ellenőrzéshez képest:
- bonyolultabb, duplikált kód, több hibázási lehetőség, ami növeli a fejlesztési és a karbantartási időt
- A felhasználói élmény csorbulhat (a 2-es esetben).
A pusztán szerveroldali ellenőrzés akkor hátrányos, ha nagy adatmennyiséget küldünk vagy nagyon lassú a hálózat.Tehát felhasználói élmény és a fejlesztés szempontjából mindenképp célszerűbb a csak szerveroldali ellenőrzést választani.
Ha viszont nem írod oda,
UX szempontból a legjobb az
Egy szoftver szempontjából hosszú távon az egyszerűség is nagyon fontos, mind fejlesztés, mind pedig karbantartás szempontjából is.
Kipróbáltam a telefonomon, a
Szimpla matek
Desktopon nálam 200ms a
Célszerű (UX) vs. kell (??)
Lovagolhatsz egy szavon, jó
Mert tehermentesíti a
Premature optimization
Ugyanezt írtam.
Léteznek ilyenek nodejs-ben
Nyilván bármit meg lehet
És ezért a kicsivel gyorsabb
Elfogadom, hogy nem érdekel téged és neked kényelmesebb, de ne mondd egy szakmai oldalon, hogy nem számít, mert nem igaz.
Gondolom, hogy az SPDY-re
A mostani szál is a sebességről szól, de a felhasználói élmény szempontjából, szóval az almát a körtével való hasonlítás esete. A fentiekben azt bizonyítottam, hogy egy átlagos kérést (aminél kérjük, hogy a szerver ellenőrizze az inputot), ami jellemzően kicsi (párszáz bájt utazik), 2-300ms alatt megkapunk, amit a felhasználó nem fog észrevenni, mert az észlelési határ közelében van. Ebben az esetben a sebesség (és az, hogy közben hálózati elérés és szerverterhelés van) nem igazán számít. Ha pedig eleve lassú az illető nete, akkor nem is biztos, hogy fogja használni.
Nyilvánvaló
A felhasználói élményt nem rontja a szerver oldalon történő ellenőrzés, mert gyorsan megkapjuk a szervertől a választ.
Ha mégse kapnánk meg elég gyorsan, akkor úgy leromlik a felhasználói élmény, hogy nem lesz felhasználó, tehát végül is nem romlik a felhasználói élmény, mert ugye "nemfelhasználónak" nincs felhasználói élménye, mert ő nem felhasználó.
Logikus és nyilvánvaló!
Hogy erre én nem gondoltam!
pp
Ez így nem igaz. Pl egyik
Ezek olyan dolgok, hogy elég csak egyszer megírni, utána nagyjából automatizáltan megy az egész.
Túl van ez lihegve
+1
Nem akadtam fent, csak egy
Én láttam már olyan eszközt, amit jól el tudnék képzelni a webre kiterjesztve is, hogy van egy egységes szerver oldali kód, amiben bizonyos kódblokkok (ad absurdum egy-egy sor is akár) meg vannak jelölve, mint kliensen futtatandó logika, és ezek "folytatólagosan" futnak le, csak hol a szerveren, hol a kliensen. Ettől eltekintve egy munkamenetet alkotnak. Természetesen valamennyire eltér a szerver és a kliens eszközkészlete, de van egy nagy metszet, ami mindenhol használható, és nem kell kézzel AJAX-ozni, mert a háttérben ez az egész le van kezelve. A kliensről lehet pl. "közvetlenül" adatbázis lekéréseket is hívni, logikai tranzakcióba zárva, stb.
Egy ilyen megoldás szerintem forradalmasíthatná a webfejlesztést. Vagy nem. :) Engem mindenesetre felcsigázna.
Szerintem baromi nehéz lehet
Nem tudom, hogy weben működő
Én csak játszottam vele, de vannak fejlesztő kollégáim, akik üzleti alkalmazásokat is írtak ezzel. Szóval csak ezen merengtem el, hogy ez jópofa lenne webre is.
M2M