{"id":30874,"date":"2019-10-31T21:37:54","date_gmt":"2019-10-31T18:37:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/cheklist-dlya-sozdaniya-i-publikatsii-veb-prilozhenij\/"},"modified":"2019-10-31T21:37:54","modified_gmt":"2019-10-31T18:37:54","slug":"cheklist-dlya-sozdaniya-i-publikatsii-veb-prilozhenij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/cheklist-dlya-sozdaniya-i-publikatsii-veb-prilozhenij","title":{"rendered":"Checklista za kreiranje i objavljivanje web aplikacija","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Danas, za izradu web aplikacije nije dovoljno samo znati je razviti. Va\u017ean aspekt je postavljanje alata za implementaciju aplikacije, pra\u0107enje, te upravljanje i administracija okru\u017eenja u kojem ona radi. Era ru\u010dne implementacije odlazi u zaborav, \u010dak i za male projekte, alati za automatizaciju mogu donijeti zna\u010dajne koristi. Tijekom 'ru\u010dne' implementacije, \u010desto mo\u017eemo zaboraviti prenijeti ne\u0161to, uzeti u obzir neki detalj, pokrenuti zaborani test; ovaj popis mo\u017ee trajati prili\u010dno dugo. <\/p>\n<p>Ovaj \u010dlanak mo\u017ee pomo\u0107i onima koji tek upoznaju osnove izrade web aplikacija i \u017eele malo razjasniti osnovne termine i konvencije.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDakle, izgradnju aplikacija mo\u017eemo podijeliti na 2 dijela: ono \u0161to se odnosi na kod aplikacije i ono \u0161to se odnosi na okru\u017eenje u kojem se taj kod izvr\u0161ava. Kod aplikacije tako\u0111er se dijeli na serverski (onaj koji se izvr\u0161ava na serveru, \u010desto: poslovna logika, autorizacija, pohrana podataka itd.) i na klijentski (onaj koji se izvr\u0161ava na korisni\u010dkom ra\u010dunalu: \u010desto su\u010delje i s njim povezana logika). <\/p>\n<p>Po\u010dnimo, dakle, s okru\u017eenjem. <\/p>\n<p>Osnova za rad bilo kojeg koda, sustava, softvera je operacijski sustav, stoga \u0107emo u nastavku razmotriti najpopularnije sustave prisutne na tr\u017ei\u0161tu hosting usluga i dati im kratak opis: <\/p>\n<p><i>Windows Server<\/i> \u2013 taj poznati Windows, ali u serverskoj verziji. Neki od funkcionalnosti dostupnih u klijentskoj (obi\u010dnoj) verziji Windows nisu prisutni ovdje, poput nekih usluga za prikupljanje statisti\u010dkih podataka i sli\u010dnog softvera, ali su tu alati za administraciju mre\u017ee i osnovni softver za implementaciju <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/server\/\"   title=\"poslu\u017eitelja\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1298\">poslu\u017eitelja<\/a> (web, ftp, \u2026). U cjelini, Windows Server izgleda kao obi\u010dni Windows, kre\u0107e se kao obi\u010dni Windows, no ko\u0161ta 2 puta vi\u0161e od svog obi\u010dnog kolege. Me\u0111utim, uzimaju\u0107i u obzir da \u0107ete implementaciju aplikacije vjerojatno raditi na dedicated\/virtualnom serveru, kona\u010dna cijena za vas mo\u017ee porasti, ali ne kriti\u010dno. Budu\u0107i da platforma Windows zauzima dominantno mjesto na tr\u017ei\u0161tu korisni\u010dkih OS-ova, njena serverska verzija bit \u0107e najprihvatljivija za ve\u0107inu korisnika. <\/p>\n<p><i>Unix<\/i>-sli\u010dni sustav. Tradicionalni rad u tim sustavima ne uklju\u010duje uobi\u010dajeni grafi\u010dki su\u010delje, nude\u0107i korisniku samo konzolu kao element za upravljanje. Za neiskusnog korisnika rad u takvom formatu mo\u017ee predstavljati izazov, a samo izlazak iz dovoljno popularnog tekstualnog urednika <i>Vim<\/i>, pitanje vezano uz to je tijekom 6 godina prikupilo vi\u0161e od 1,8 milijuna pregleda. Glavni distribucijski sustavi (izdanje) ove obitelji su: Debian \u2014 popularna distribucija, verzije paketa u njemu su uglavnom usmjerene na LTS (<i>Long Term Support <\/i>\u2013 podr\u0161ka tijekom dugog vremena), \u0161to se o\u010dituje u prili\u010dno velikoj pouzdanosti i stabilnosti sustava i paketa; <i>Ubuntu<\/i> \u2013 sadr\u017ei distribucije svih paketa u njihovim najnovijim verzijama, \u0161to mo\u017ee utjecati na stabilnost, me\u0111utim omogu\u0107uje kori\u0161tenje funkcionalnosti isporu\u010dene s novim verzijama; <i>Red Hat Enterprise Linux \u2013 OS<\/i>, pozicionirana za komercijalnu upotrebu, je pla\u0107ena, no uklju\u010duje podr\u0161ku od strane dobavlja\u010da softvera, neke proprietarne pakete i pakete upravlja\u010dkih programa; <i>CentOS \u2013 opensource <\/i>varijacija Red Hat Enterprise Linux, razlikuje se po nedostatku proprietarnih paketa i podr\u0161ke. <\/p>\n<p>Za one koji tek u\u010de osnove ovog podru\u010dja, moja pretpostavka su sustavi <i>Windows Server<\/i>, ili <i>Ubuntu<\/i>. Ako gledate Windows, to je prije svega navika sustava, <i>Ubuntu<\/i> \u2013 ve\u0107a tolerantnost prema a\u017euriranjima, a s druge strane, na primjer, manje problema prilikom pokretanja projekata na tehnologijama koje zahtijevaju nove verzije. <\/p>\n<p>Dakle, nakon \u0161to smo odabrali OS, pre\u0111imo na skup alata koji omogu\u0107uju implementaciju (instalaciju), a\u017euriranje i pra\u0107enje stanja aplikacije ili njezinih dijelova na poslu\u017eitelju. <\/p>\n<p>Sljede\u0107e va\u017eno rje\u0161enje \u0107e biti \u2013 smje\u0161taj va\u0161e aplikacije, i poslu\u017eitelja za nju. Trenutno, naj\u010de\u0161\u0107e su tri opcije: <\/p>\n<ul>\n<li>Hosting (dr\u017eanje) poslu\u017eitelja kod sebe, samostalno \u2013 najjeftinija opcija, ali \u0107ete morati zatra\u017eiti od davatelja stati\u010dki IP, kako bi va\u0161a adresa ostala nepromijenjena tijekom vremena. \n <\/li>\n<li>Iznajmljivanje Dediciranog Poslu\u017eitelja (VDS) \u2013 i samostalno upravljanje njime i skaliranje optere\u0107enja. \n<\/li>\n<li>Platite (\u010desto uz mogu\u0107nost besplatnog probnog razdoblja funkcionalnosti platforme) pretplatu na nekom oblaku hosting usluga, gdje je model pla\u0107anja za kori\u0161tene resurse prili\u010dno rasprostranjen. Najistaknutiji predstavnici ovog pravca uklju\u010duju: Amazon AWS (nude besplatnu godinu dana kori\u0161tenja usluga, ali s mjese\u010dnim limitom), Google Cloud (nude 300$ na ra\u010dunu, koji se mo\u017ee potro\u0161iti tijekom godine na usluge oblaka <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/\"   title=\"hostinga\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2392\">hostinga<\/a>), Yandex.Oblak (nude 4000 kuna za 2 mjeseca), Microsoft Azure (nude besplatan pristup popularnim uslugama na godinu dana, + 12 500 kuna na bilo koje usluge tijekom jednog mjeseca). Tako se mo\u017ee isprobati bilo koji od ovih pru\u017eatelja, ne tro\u0161e\u0107i ni lipu, ali dobivaju\u0107i okvirno mi\u0161ljenje o kvaliteti i razini pru\u017eanja usluga. \n<\/li>\n<\/ul>\n<p>\nOvisno o odabranom putu, kasnije \u0107e se promijeniti jedino \u010dinjenica tko snosi odgovornost za odre\u0111eno podru\u010dje administracije. Ako hostate sami, trebate razumjeti da su sve prekide u napajanju, internetu, samom serveru, softveru koji je na njemu instaliran \u2013 sve to potpuno na va\u0161im le\u0111ima. Me\u0111utim, za u\u010denje i testiranje, to je vi\u0161e nego dovoljno. <\/p>\n<p>Ako pak nemate dodatni stroj koji mo\u017ee odigrati ulogu servera, onda \u0107ete htjeti iskoristiti drugi ili tre\u0107i put. Drugi slu\u010daj je identi\u010dan prvom, s tom razlikom \u0161to prebacujete odgovornost za dostupnost servera i njegovih resursa na le\u0111a hostera. Administracija servera i softvera jo\u0161 uvijek je pod va\u0161om kontrolom. <\/p>\n<p>I kona\u010dno, opcija iznajmljivanja resursa od oblaku pru\u017eatelja usluga. Ovdje mo\u017eete postaviti automatizirano upravljanje prakti\u010dno bilo \u010dim, ne previ\u0161e ulaze\u0107i u tehni\u010dke pojedinosti. Osim toga, umjesto jednog stroja, mo\u017eete imati nekoliko paralelno pokrenutih instanci koje na primjer mogu odgovarati za razli\u010dite dijelove aplikacije, a da se pritom ne razlikuju mnogo po cijeni od posjedovanja namjenskog servera. Tako\u0111er, tu su dostupni alati za orkestriranje, kontejnerizaciju, automatsko implementiranje, kontinuiranu integraciju i mnogo drugih! Neke od ovih stvari razmotrit \u0107emo u nastavku. <\/p>\n<p>U op\u0107em smislu, infrastruktura poslu\u017eitelja izgleda ovako: imamo takozvani \u201eorkestrator\u201c (\u201eorkestracija\u201c \u2013 proces upravljanja vi\u0161e instanci poslu\u017eitelja), koji upravlja promjenama okru\u017eenja na instanci poslu\u017eitelja, kontejner virtualizacije (opcionalan, ali \u010desto kori\u0161ten), koji omogu\u0107ava razdvajanje aplikacije na izolirane logi\u010dke slojeve, i softver za Kontinuiranu Integraciju \u2013 koji omogu\u0107ava a\u017euriranje postavljenog koda pomo\u0107u \u201eskripti\u201c. <\/p>\n<p>Dakle, orkestracija vam omogu\u0107ava da vidite statuse poslu\u017eitelja, provodite \u201eimplementaciju\u201c ili \u201epovrat\u201c a\u017euriranja okru\u017eenja poslu\u017eitelja i tako dalje. U po\u010detku vas taj aspekt vjerojatno ne\u0107e mnogo zanimati, s obzirom da je za orkestriranje potrebno nekoliko poslu\u017eitelja (mo\u017ee i jedan, ali za\u0161to?), a da bi bilo nekoliko poslu\u017eitelja, potrebno je imati potrebu za njima. Od alata u ovoj domeni, najpoznatiji je Kubernetes, razvijen <i>Google<\/i>. <\/p>\n<p>Sljede\u0107i korak \u2013 virtualizacija na razini OS-a. Trenutno je \u0161iroko prihva\u0107eno poimanje \u201edockerizacije\u201c, koje je proiza\u0161lo iz alata <i>Docker<\/i>, koji pru\u017ea funkcionalnosti izoliranih kontejnera koji se pokre\u0107u unutar istog operativnog sustava. \u0160to to zna\u010di: unutar svakog od tih kontejnera mogu\u0107e je pokrenuti aplikaciju ili \u010dak skup aplikacija, koje \u0107e vjerovati da su jedine koje postoje u cijelom OS-u, \u010dak ne sumnjaju\u0107i u postojanje drugih na tom ure\u0111aju. Ova funkcija je vrlo korisna za pokretanje istih aplikacija razli\u010ditih verzija, ili jednostavno sukobljenih aplikacija, kao i za dijeljenje dijelova aplikacije u slojeve. Ova maska slojeva se mo\u017ee snimiti u sliku, koja se mo\u017ee koristiti, na primjer, za implementaciju aplikacije. Drugim rije\u010dima, instaliranjem ove slike i raspore\u0111ivanjem kontejnera koje ona sadr\u017ei, dobivate spremno okru\u017eenje za pokretanje va\u0161e aplikacije! U ranim fazama mo\u017eete koristiti ovaj alat kako u upoznavaju\u0107e svrhe, tako i za ostvarivanje stvarne korisnosti, raspore\u0111uju\u0107i logiku aplikacije u razli\u010dite slojeve. Me\u0111utim, valja napomenuti da dockerizacija nije potrebna svima, i ne uvijek. Dockerizacija je opravdana kada je aplikacija 'fragmentirana', podijeljena na manje dijelove, od kojih svaki odgovara za svoju zada\u0107u, tzv. 'mikroservisna arhitektura'. <\/p>\n<p>Osim toga, osim pru\u017eanja okru\u017eenja, potrebno je osigurati i pravilnu implementaciju aplikacije, koja uklju\u010duje sve mogu\u0107e transformacije koda, instalacije knji\u017enica i paketa povezanih s aplikacijom, pokretanje testova, obavijesti o tim operacijama i tako dalje. Ovdje trebamo obratiti pa\u017enju na pojam 'Kontinuirana Integracija' (<i>CI \u2013 Kontinuirana Integracija<\/i>). Glavni alati u ovom podru\u010dju trenutno su Jenkins (CI alat napisan u Javi, mo\u017ee se \u010diniti malo slo\u017eenim na po\u010detku), <i>Travis CI<\/i> (napisan u Rubyju, subjektivno, ne\u0161to jednostavniji od Jenkins-a, ali jo\u0161 uvijek su potrebna neka znanja o postavljanju implementacije), <i>(napisan u<\/i>Rubyju i Golu <i>Gitlab CI<\/i> . Dakle, nakon govoriti o okru\u017eenju u kojem \u0107e va\u0161a aplikacija raditi, kona\u010dno je do\u0161lo vrijeme da pogledamo koje alate nam nudi suvremeni svijet za izradu tih aplikacija. <i>Zapo\u010dnimo s osnovama:<\/i>). <\/p>\n<p>Dakle, nakon \u0161to smo razgovarali o okru\u017eenju u kojem \u0107e se va\u0161a aplikacija pokretati, kona\u010dno je do\u0161lo vrijeme da pogledamo koje alate suvremeni svijet nudi za izradu tih aplikacija. <\/p>\n<p>Zapo\u010dnimo s osnovama:<i> Backend smo planirali napraviti na Linuxu. Backend komunicira s bazom podataka, u\u010ditava potrebne popise privilegija i zatim, ovisno o privilegijama koje ima autorizirani korisnik, osigurava pristup za potpisivanje financijskih dokumenata i slanje na izvr\u0161enje, ili generiranje nekog izvje\u0161taja.<\/i> (backend) \u2013 server-side. The choice of language, set of core functions, and predefined structure (framework) is primarily defined by personal preferences, but it is worth mentioning for consideration (the author's opinion on languages is quite subjective, albeit with a claim to an unbiased description): <\/p>\n<ul>\n<li>Python \u2013 a language quite friendly for inexperienced users, forgiving some mistakes, but can also be quite strict with developers to prevent them from making serious errors. It is already a well-established and meaningful programming language that emerged in 1991. \n<\/li>\n<li>Go \u2013 a language from Google, also quite friendly and convenient, easy to compile and generate an executable file for any platform. Can be simple and pleasant, or complex and serious. Fresh and young, it appeared relatively recently, in 2009. <\/li>\n<li>Rust \u2013 a bit older than its predecessor, released in 2006, still relatively young compared to its peers. Oriented towards more experienced developers, although it still attempts to handle many low-level tasks on behalf of the programmer.<\/li>\n<li>Java \u2013 a veteran of commercial development, appearing in 1995, it is one of the most frequently used languages for developing enterprise applications currently. Its fundamental concepts and complex runtime environment setup can be quite challenging for newcomers. <\/li>\n<li>ASP.net \u2013 a platform for application development, released by Microsoft. The functionality is mainly written in C# (pronounced C Sharp), which emerged in 2000. Its complexity is comparable to a level between Java and Rust. <\/li>\n<li>PHP \u2013 originally used for preprocessing HTML, currently maintains absolute leadership in the language market, although there is a noticeable trend towards a decline in usage. Characterized by a low entry threshold, simplicity in coding, but at the same time, when developing sufficiently large applications, the language's functionality may prove inadequate. <\/li>\n<\/ul>\n<p>\nAnd the final part of our application \u2013 the most tangible for the user \u2013 <i>Frontend<\/i> (frontend) \u2013 is the face of your application, this is the part that the user interacts with directly. <\/p>\n<p>Ne ulaze\u0107i u detalje, moderni frontend se oslanja na tri stuba, okvira (i manje okvira), za izradu korisni\u010dkih su\u010delja. Tako\u0111er, tri najpopularnija su: <\/p>\n<ul>\n<li>ReactJS \u2013 nije okvir, ve\u0107 knji\u017enica. U su\u0161tini, od ponosnog naziva okvir razlikuje se samo po nedostatku nekih funkcija \"iz kutije\" i potrebom za ru\u010dnom instalacijom. Dakle, postoji nekoliko varijacija \"pripreme\" ove knji\u017enice, koje formiraju svojevrsne okvire. Za po\u010detnike mo\u017ee biti malo te\u017ee, zbog nekih osnovnih principa i dovoljno agresivne konfiguracije okru\u017eenja za izgradnju. Ipak, za brz po\u010detak mo\u017eete koristiti paket \"create-react-app\".<\/li>\n<li>VueJS \u2013 okvir za izradu korisni\u010dkih su\u010delja. Od ove trojice s pravom nosi titulu najpristupa\u010dnijeg okvira, ulazna barijera za razvoj u Vue-u je ni\u017ea nego kod ostalih navedenih kolega. Osim toga, me\u0111u njima je najmla\u0111i. <\/li>\n<li>Angular \u2013 smatra se najte\u017eim od navedenih okvira, jedini zahtijeva prisutnost <i>TypeScript<\/i> (pro\u0161irenje jezika Javascript). \u010cesto se koristi za izradu velikih korporativnih aplikacija. <\/li>\n<\/ul>\n<p>\nSa\u017eimaju\u0107i prethodno napisano, mo\u017ee se zaklju\u010diti da se sada pokretanje aplikacije drasti\u010dno razlikuje od onoga kako je taj proces izgledao ranije. Ipak, nitko ne sprje\u010dava provesti \"deploy\" na stari na\u010din. No, isplati li se malo u\u0161te\u0111enog vremena na po\u010detku \u2013 ogromna koli\u010dina zamki na koje \u0107e nai\u0107i programer koji odabere ovaj put? Smatram da je odgovor \"ne\". Potro\u0161iv\u0161i malo vi\u0161e vremena na upoznavanje s tim alatima (a vi\u0161e ni ne treba, jer trebate shvatiti jesu li vam potrebni u trenutnom projektu ili ne), mo\u0107i \u0107ete to nadoknaditi, znatno smanjuju\u0107i, na primjer, slu\u010dajeve fantomske gre\u0161ke ovisne o okru\u017eenju koje se manifestiraju samo na produkcijskom serveru, no\u0107ne analize \u0161to je dovelo do pada servera i za\u0161to se ne pokre\u0107e, i mnogo drugog.<br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446642\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c. \u0412\u0430\u0436\u043d\u044b\u043c \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0443, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0440\u0435\u0434\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u042d\u0440\u0430 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u0437\u0430\u0431\u0432\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0435\u0441\u0442\u0438 \u043e\u0449\u0443\u0442\u0438\u043c\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u0443. \u041f\u0440\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u00ab\u0440\u0443\u043a\u0430\u043c\u0438\u00bb, \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043c\u044b \u043c\u043e\u0436\u0435\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30874","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/cheklist-dlya-sozdaniya-i-publikatsii-veb-prilozhenij\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0435\u043a\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/cheklist-dlya-sozdaniya-i-publikatsii-veb-prilozhenij\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:37:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:37:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Listu zadataka za izradu i objavljivanje web aplikacija | ProHoster","description":"Da biste stvorili svoju web aplikaciju u dana\u0161nje vrijeme, nije dovoljno znati je razvijati.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/cheklist-dlya-sozdaniya-i-publikatsii-veb-prilozhenij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0435\u043a\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster","og:description":"\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/cheklist-dlya-sozdaniya-i-publikatsii-veb-prilozhenij","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:37:54+00:00","article:modified_time":"2019-10-31T18:37:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30874","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 20:21:48","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:27:38","updated":"2026-02-09 20:21:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/30874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=30874"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/30874\/revisions"}],"predecessor-version":[{"id":159642,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/30874\/revisions\/159642"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=30874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=30874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=30874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}