Ek het lank reeds webtoepassings ontwikkel. Lank gelede. My eerste webtoepassings in die omgewing Ek het in daardie dae geskep toe die woord "google" was nog nie 'n werkwoord nie, en om inligting op die internet te soek, het mense Yahoo! en Rambler. ek het gebruik O, hulle het 'n nouer soektog en 'n minder lelike deurmekaar koppelvlak as Yahoo!
Ontwikkeling van toepassings, enige toepassings, nie net vir die web nie, is 'n kreatiewe werk. Dit is onwaarskynlik dat iemand met hierdie stelling sal stry. En skoonheid in kreatiwiteit is soos oefening in wetenskaplike kennis - die maatstaf van waarheid. Maar as wetenskaplike praktyk objektief is en gebaseer is op metings, dan is skoonheid 'n subjektiewe onderwerp, afhangend van wie kyk. So ek het myself gevra, wat is 'n pragtige webtoepassing vir my persoonlik?

(Op KDPV is die oog nie myne nie, die oog is vroulik, maar, IMHO, die vroulike oog op KDPV is meer gepas as die manlike een, want dit is - !)
Onder die snit is my eie kriteria vir watter soort webtoepassing op die oomblik as pragtig beskou kan word. Baie subjektief, gebaseer op my persoonlike ervaring. Miskien sal my kriteria vir skoonheid vir iemand lyk as kriteria vir lelikheid. Moenie verbaas wees nie, jy het net 'n ander ervaring.
En aangesien jy onder die sny gegaan het, wees asseblief versigtig in die kommentaar. As jy tog kan ophou om 'n artikel te lees sodra dit wat daarin staan vir jou lelik of selfs lelik lyk, dan moet ek as skrywer al die kommentaar lees.
Habitat
protokolle
Ek weet nie eers of hierdie maatstaf afsonderlik uitgehaal moet word nie. Webtoepassings leef op die Web en word gedwing om aan die Wette van die Web (protokolle) te voldoen. Die belangrikste protokolle op die web is и . Baie ander protokolle is daarop gebaseer, maar vir webtoepassings beskou ek die belangrikste (of eerder, die uitbreiding daarvan op die basis ). Dit wil sê, 'n pragtige webtoepassing is beskikbaar via HTTPS / TLS (of alternatiewelik via HTTP), en ander protokolle (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, ...) maak dit minder mooi met elkeen wat addisioneel ondersteun word protokol. Die toepassing self kan eksterne hulpbronne gebruik deur hierdie bykomende protokolle te gebruik.
Met betrekking tot , dan het ek nie voldoende ondervinding in die gebruik van hierdie protokol met webtoepassings nie. Dit lyk pragtig en belowend, maar ek kan nie sê hoe stabiel en prakties dit is nie.
Браузеры
'n Webtoepassing het net een voet aan die bedienerkant, die ander aan die kliëntkant. Die kliëntkant is die blaaier. Moderne blaaier bied wat 'n moderne webtoepassing kan en moet benut. 'n Pragtige webtoepassing gebruik moderne blaaiervermoëns en hoef nie in blaaiers te werk wat nie moderne vermoëns bied nie. ek verstaan dit - dit is 'n noodsaaklike maatreël, maar dit is lelik. Nie net ontwikkelaars moet immers tred hou met moderne tegnologie nie, dit geld ook vir gebruikers en besighede.
JP
Met die programmeertale wat gebruik word om webtoepassings te skep, is alles baie verwarrend. Vir die kliëntkant van webtoepassings is daar baie tegnologieë wat die ontwikkelaar in staat stel om die skepping van die HTML / CSS / JS-triade te fasiliteer (wat alle moderne blaaiers verstaan). Maar op 'n tyd was ek in noue kontak met en ek beskou dit as pragtig as 'n ontwikkelaar die oorspronklike kode in die blaaier sien, en nie die resultaat van samestelling of transpilasie nie. Daarom is die gebruik 'en soortgelyke produkte vir die generering van kliëntkode, IMHO, lelik. Hoe meer die kode wat in die blaaier loop soortgelyk is aan die bronkode wat deur die ontwikkelaar geskep is, hoe beter. Glo nie? Probeer om die kode wat deur GWT in produksie gegenereer word, te ontfout.
Daar is meer vryheid aan die bedienerkant (Java, PHP, perl, python, C#, Ruby, ...), maar dit lyk vir my of dit pragtig is as een programmeertaal beide aan die bedienerkant en in die blaaier gebruik word - JavaScript. Steeds en eendersdenkende spanne is meer produktief.
Menslikheid
'n Pragtige webtoepassing behoort nuttig te wees. Eerstens nuttig vir 'n persoon as eindgebruiker. Daarom kan ek dit nie 'n pragtige webtoepassing noem nie. . Dit is moeilik vir 'n gewone mens (nie 'n webontwikkelaar nie) om hulle te hanteer. Webdienste is pragtig op hul eie manier,
'n Pragtige webtoepassing moet 'n intuïtiewe koppelvlak hê. Jy kan stry oor 'e' is 'n redelik subjektiewe ding. Neus alles is baie eenvoudiger as die gebruiker nie die toepassing sonder die gekoesterde kan gebruik nie - slegte UX, lelike webtoepassing. Die mooiste webtoepassings volgens hierdie maatstaf kan maklik gebruik word deur kinders wat nog nie kan lees nie.
Omgekeerde skaalbaarheid
Eens op 'n tyd kon programme op diskette oorgedra word, nou - op flash drives of direk van die web afgelaai word. Om 'n normale toepassing te kopieer en dit op 'n ander masjien te laat loop, is 'n onbenullige taak. Met webtoepassings is die situasie ietwat anders. Die web is 'n globale omgewing waar dit nie nodig is om klone van dieselfde webtoepassing te hê nie. Een Facebook, Twitter, Instagram, Mail.ru of Yandex is genoeg op die web. Jy kan verskillende webtoepassings in dieselfde tematiese nis hê, maar met verskillende gehore (soos Facebook en Vkontakte, Mail.ru en Gmail, Google Maps en Azure Maps). Hardewarehulpbronne om te verseker dat die wêreldwye beskikbaarheid van sulke webtoepassings nodig is, kom ons sê, .
Ek het nog nooit met webtoepassings van so 'n vlak as 'n ontwikkelaar gewerk nie en ek het geen idee hoe hulle daar binne gerangskik is nie. Om die werkverrigting van sulke webtoepassings te verseker, is spanne toepaslike spesialiste en aparte datasentrums nodig. Ek bewonder die vermoë van mense om op so 'n skaal saam te werk en sulke produkte te skep, maar my maatstaf van skoonheid is 'n webtoepassing wat op 'n aparte skootrekenaar bedryf kan word.
’n Pragtige webtoepassing skaal nie net op en uit nie (vir gebruikers), maar ook af en in (vir ontwikkelaars).
"Amfibieë"
Twee tipes toestelle word gebruik om toegang tot moderne webtoepassings te verkry:
- rekenaars (skootrekenaars, lessenaars);
- mobiele toestelle (slimfone en tablette);
Iewers op die horison doem meer op“Maar tot dusver so.
Rekenaars verskil net so van mobiele toestelle as wat landwesens van watervoëls is. Dit is verskillende omgewings en dit stel verskillende eise aan die wesens (programme) wat daarin woon. Pragtige webtoepassings is nie dié wat lyk nie , maar die wat in die water is, is soos visse, op die land is soos diere, en in die lug () is soos voëls.
Ek vind dit lelik“, dit is soos om op twee (met SEO - drie) stoele te probeer sit. Beter soos Fiona van Shrek – een gedurende die dag en een in die nag. Ja, duurder. Maar beter.
kruisdeling
Ek het reeds in die afdeling "Omgekeerde skaalbaarheid" opgemerk dat die globale aard van die web dit moontlik maak om een webtoepassing per planeet te hê. Daarom moet elke webtoepassing ten minste ietwat verskil van ander om die voortbestaan daarvan te verseker. Maar my jarelange ondervinding met ('n raamwerk vir die bou van e-handelwinkels) sê dat daar meer gemeen kan wees tussen individuele webtoepassings as verskille. 'n Pragtige webtoepassing hoef nie net modulêr te wees nie, dit moet ook sy modules met ander webtoepassings deel. In 'n mate word hierdie idee weerspieël in JSR 168 en JSR 286 en raamwerke soos , en dieselfde MagentoHoe meer modules 'n webtoepassing gebruik, hoe mooier is dit, na my mening. Kruisdeling maak voorsiening vir die skep van hoër kwaliteit modules en gevolglik meer stabiele webtoepassings.
Met module bedoel ek nie biblioteke soos jQuery of RequireJS nie - eerder groter entiteite soos plugins in и . Maar vir biblioteke is die tesis ook waar dat die wye verspreiding van die biblioteek dit moontlik maak om dit beter en meer stabiel te maak.
Harvard argitektuur
, anders as die nou heersende bal , impliseer skeiding van kode en data. Die argitektuur het nie posgevat nie, maar die idee self lyk vir my persoonlik pragtig. Veral vir webtoepassings. Enige statiese (HTML/CSS/JS/Images/...) is kode. Dit kan en moet gekas word, hetsy aan die bedienerkant of aan die kliëntkant. En die data is / (mooi) of / (effens minder mooi). Of WebSockets/JSON (is dalk die beste opsie, maar ek het dit nie probeer nie).
lokalisering
Daar is twee dinge waaroor ek veral omgee wanneer ek webtoepassings ontwikkel - dit is 'n veeltalige koppelvlak en tydsones. Ek is self van Letland, ons gebruik drie tale: LV, RU, EN. 'n Pragtige webtoepassing behoort nie net in staat te wees om veelvuldige tale in die toepassing self te gebruik nie, maar moet u ook toelaat om die aantal tale wat gebruik word uit te brei deur eksterne hulpbronne, soos bv. . Dieselfde geld vir die modules waaruit die webtoepassing saamgestel is.
Met tydsones is alles eenvoudig, in alle gevalle wanneer dit nie duidelik is hoe om datum-tyd te verwerk nie, doen dit: alles wat op die bediener is, gaan na die bediener en kom van die bediener af - UTC, alles wat op die bediener vertoon word kliënt - volgens die tydsone vanaf gebruikersprofiel. Dit is pragtig.
Forges in plaas van Death Stars
Eens op 'n tyd het elke min of meer groot dorp sy eie smee gehad. Miskien nie alleen nie. Sommige beter, sommige slegter. Daar was smid meesters bekend oor die hele wêreld, en daar was diegene wat van geen alternatief na gegaan het nie. Daar was oorloë, epidemies, natuurrampe. Sommige dorpe het saam met die bevolking verdwyn. Maar smedery het gebly. In plaas van die verdwene stede is nuwes opgerig en smee het ook daarin verskyn.
Kyk nou na 'n diens soos . Wanneer die wortelbedieners afgaan, .
Na my mening kan 'n pragtige webtoepassing nie so groot soos Facebook of Mail.ru wees nie. Dit is nader aan"beide in terme van die hulpbronne wat nodig is vir konstruksie en die hulpbronne wat nodig is om prestasie te handhaaf. Ja, as Facebook vernietig word, sal die mensdom nie verdwyn nie, sy funksies sal vinnig deur ander toepassings oorgeneem word (dieselfde op die grondgebied van die Russiese Federasie en aangrensende gebiede, Instagram, Twitter, ...). Nietemin is dit lelik om 'n aansienlike deel van die planeet se bevolking vir een toepassing te sluit. Veral wanneer daar baie meer volhoubare alternatiewe is (bv. ).
Opsomming
As jy tot die einde gelees het en verward is - "Wat was dit?“Ek betuig my innige meegevoel met jou. Ek het jou nie gedwing om dit te lees nie. Ek het net probeer om my gedagtes in woorde te sit om diegene te vind wat op dieselfde manier dink. Miskien kan ek 'n paar aspekte van die skep van pragtige webtoepassings met hulle bespreek en die antwoorde op my vrae uitvind. En ek het baie van hulle.
Dankie vir die lees.
Bron: will.com
