WordPress – mnogo više od samo bloga

WordPress je online, open source web stranica izgrađena u PHP-u. No, za one koji ne razumeju šta je PHP – WordPress je verovatno najlakši i najmoćniji sistem za upravljanje blogovima i web sadržajem (ili CMS-om) danas.
Od svog nastanka 2003. godine pa do danas, WordPress koristi impresivnih 25,8% svih dostupnih stranica na Internetu i ovo je broj koji će vremenom samo rasti. Pogledajmo i zašto je to tako.

Ko sve koristi WordPress?

Mnogi poznati blogovi, web stranice koje svakodnevno objavljuju vesti, web stranice sa muzikom, Fortune 500 kompanije, slavne ličnosti i mnogi drugi. Na primer, poznati blogovi poput Mashable i TechCrunch su na WordPressu. Popularne novinarske kuće kao što su New York Times i CNN takođe koriste WordPress. Ako vas je ikad zanimalo ko koristi WordPress kao sistem za svoju web stranicu pogledajte ovde. Verujem da ćete biti veoma impresionirani brojem poznatih web lokacija koje koriste ovaj popularni sistem za upravljanje sadržajem na svojim web stranicama.

wordpress_bicycle

Koje su prednosti korišćenja WordPress-a?

Jednostavan interfejs: WordPress platforma nudi jednostavan korisnički interfejs kada je reč o drugim sistemima za upravljanje sadržajem. Nakon prijave u WP doći ćete na početnu tablu. WordPress tabla vam omogućava da promenite mnoge elemente vašeg sajta, bez ikakve potrebe da znate ijednu liniju koda. Možete menjati/uređivati slike, stranice, poruke, sadržaj i razne druge funkcije prilično brzo i jednostavno.

User-friendly: WordPress je izuzetno user friendly. Ostali sistemi za upravljanje sadržajem hvale njihove beskrajne mogućnosti koji uopšte nisu komplikovane za korišćenje, te se lako prilagođava bez potrebne dodatne podrške. Da biste dodali novi post na svom blogu/web stranici morate jednostavno kliknuti “Stvori novi post”, prilagodite URL (ako se nije već sam prilagodio prema naslovu), uredite sadržaj i objavite ga. Mislim da jednostavnije od ovoga ne može.

Web biblioteka: WordPress ima veliku web biblioteku vizualnih tema (templates) i dodataka (plugins). Vizualne teme se, kako im ime i sugeriše, koriste za promenu izgleda i generalnog vizalnog utiska vaše WP web stranice. Online možete pronaći i skinuti bezbroj besplatnih i premium tema koji odgovaraju potrebama vaše web stranice.
S druge strane, besplatnim ili premium dodacima, koji su isto tako masovno dostupni online, možete lako povećati funkcionalnost svoje stranice: dodati joj Twitter i Facebook feed, ubaciti CAPTCHA funkciju, poboljšati SEO, automatski optimizovati slike i još mnogo toga.

Online zajednica: Čak i ako ne naiđete na probleme prilikom postavljanja platforme, nema razloga za brigu. WordPress ima vrlo jaku i čvrsto povezanu zajednicu spremnu da vam pomogne. Sve što trebate učiniti je pretražiti njihovu stranicu da biste pronašli odgovore na sva vaša pitanja.

Besplatno je: Ne morate platiti apsolutno ništa za korišćenje ove platforme. Jedino ako želite koristiti prilagođene WP šablone ili želite angažovati web dizajn kompaniju koja se bavi WordPressom za dizajn unikatne vizualne teme za stranicu.

Razvoj: WordPress je CMS koji će se menjati s vašom kompanijom. WP zajednica je posvećena konstantnoj izgradnji ove platforme, pa nije ni čudo da konstantno pomeraju granice WordPressa i nastoje pružiti korisnicima platformu koja je sposobna razvijati se kako bi se zadovoljila sva buduća očekivanja i potrebe.

Šta to sve znači ako ste programer?

Iako je ovo, teoretski, blogging platforma, mnogi programeri odabiru WordPress zbog niza razloga. Pre svega, radi velikog broja nezavisnih saradnika i volontera koji održavaju kod koristeći ovaj Open Source model. Nove funkcije, ispravke grešaka i sigurnosne zakrpe se rešavaju relativno brzo i vrlo često baš upravo zbog velike zajednice koja besplatno doprinosi razvoju ovog CMS-a. Drugo, postoji ogroman broj besplatnih kvalitetnih tema i dodataka koji omogućavaju programerima i developerima lako prilagoditi ne samo izgled već i funkcionalnost celog sajta te ga optimizirati za Google tražilice sa jednim klikom na instalaciju jednog od plaginova, bez svih dodatnih neprijatnosti koje inače loš SEO zna doneti. Ovo definitivno mnogo znači ukoliko radite na eCommerce trgovinama i blogovima uopšteno.

wordpress_blogger

A što ako niste programer?

Iste stvari vrede i za one koji nisu programeri. Upravo zbog WordPress-ovih mogućnosti zaista ne morate da znate programirati i kodirati da bi ga koristili. Sve vam je omogućeno na dohvat ruke, samo ju trebate pružiti, a ako i naiđete na neki problem, WP zajednica je tu za vas.

Ako vas ovaj naš tekst još uvek nije uverio u korisnost i prednosti korištenja WordPressa samo zavirite u njihovu online zajednicu i pogledajte recenzije korisnika koji su ga probali, ili još bolje, probajte sami pa nam javite vaše mišljenje i iskustva koje ćemo rado podeliti.

Kako da postanem programer?

Kako da postanem programer

Iz razloga u koje nećemo sad ulaziti, ali koji su uglavnom svima jasni, sve više prijatelja i poznanika me u poslednje vreme pita jedno naočigled jednostavno pitanje – “Kako da postanem programer“?

Pre svega, neophodno je da razjasnimo neke stvari pre početka – programerski zanat je težak i komplikovan, često ni akademski školovani programeri nisu odmah u stanju da se uhvate nekog posla u nekoj od aktuelnih tehnologija bez dodatnog usavršavanja i doučavanja. Učenje programiranja je dug i mukotrpan proces, pogotovo ako do sada niste imali nikakvih dodirnih tačaka sa nekim oblikom programerskog koda. Iz tog razloga budite spremni da uložite izuzetan napor za savladavanje programerskog umeća. To znači da morate biti spremni da izdvojite i po nekoliko sati dnevno za učenje, da ćete često udarati u zid iz razloga koji vam neće biti jasni i da će to učenje iziskivati velike mentalne napore i koncentraciju. Ukoliko niste u mogućnosti to sebi da priuštite, zbog redovnog posla ili nekih drugih razloga, razmotrite mogućnost da svoje obaveze preorganizujete tako da vam to bude moguće. U suprutnom rizikujete da izgubite puno vremena, doživite velike frustracije jer vam nešto nije jasno i zbog njih izgorite u procesu i prestanete sa daljim radom. Onoga trenutka kada prestanete sa daljim radom gurnuli ste sebe dva stepenika unazad, i to dva stepenika koja ste savladali velikim naporom i posvećenošću.

S druge strane, ako se odlučite na ovaj korak i uspete da istrajete, što dalje odmaknete sve lakše će vam ići, i kad savladate neke osnove korišćenjem istih savladaćete i sledeće lekcije, sve dok se jednog trenutka ne osetite dovoljno sposobnim da se prihvatite nekog stvarnog posla. Tog trenutka vaše učenje zaista počinje 🙂 jer nove tehnologije, paradigme i metodike se pojavljuju svaki dan, i što ih više savladate bićete sposobniji i kvalifikovaniji programer. No, u tom trenutku ćete se programiranjem već baviti profesionalno tako da vam bilo kakvo doučavanje neće teško padati.

Druga stvar koju bih želeo da napomenem je, s obzirom na to da danas postoji veliki broj dostupnih tehnologija u svetu programiranja, da ne postoji tačan i jedinstven put kojim treba pristupiti učenju programiranja. Svaki programer će vam reći, na osnovu svog nekog iskustva i škole koju je prošao, da treba da se prvo prihvatite ovoga ili onoga iz tog i tog razloga, i svaki će delom biti u pravu. Na taj način ću pristupiti i ja – plan koji ću izneti dalje je po mom mišljenju najbolji za početnike u programiranju iz razloga koje ću dodatno objasniti. Ovo, naravno, ne znači da je to jedini način, ima drugih, možda će vam neki više odgovarati, biti lakši ili zanimljiviji, na vama je da izaberete jedan pravac i da ga se držite.

Programer

Web za početnike

Tehnologija koju vam ja preporučujem je PHP + HTML/CSS. Razlog je jednostavan – PHP je još uvek najrasprostranjenija web tehnologija danas, bilo da planirate da radite kao freelancer ili da se zaposlite u nekoj firmi, kao programer početnik, bez portofolioa, najlakše ćete naći posao u PHPu jer ga ima puno na tržištu. Druga bitna stvar je to što se pomenute tehnologije koriste najčešće za izradu web sajtova, a to su najmanji i najjednostavniji projekti od kojih bi početnici trebalo da krenu. Takođe, to su i projekti koje jedan programer može samostalno da odradi, tako da vam za to nije neophodna pomoć i tim ljudi. Naravno, postoje i mnogo složeniji i kompleksniji sajtovi koje pojedinac ne može sam da obuhvati, ali o tome nećemo ovom prilikom.

Korak prvi – HTML/CSS

HTML i CSS su tehnologije putem kojih se vrši vizuelni prikaz sadržaja na web sajtovima. Svaki sajt koji otvorite u svom browseru (kao i ovaj koji trenutno čitate) je iskodiran putem HTML i CSS direktiva.
HTML je skraćenica za Hypertext Markup Language, i u suštini to je koderska sintaksa putem koje se pozicioniraju i ispisuju elementi na web stranici.
CSS je skup pravila i direktiva kojim se dizajniraju elementi neke web stranice. Putem CSSa se formatiraju tekstovi, bira font i veličina teksta, postavljaju margine, boje elementi itd. HTML i CSS su vrlo usko povezani, praktično ne mogu jedno bez drugog, i iz tog razloga učenje i svi materijali i kursevi im pristupaju kao jednoj celini.

Korak drugi – PHP

Web programerSkoro svaka web stranica sadrži statički i dinamički sadržaj. Statički sadržaji su oni koji su uvek isti za sve posetioce sajta, na primer uvek isti logo se prikazuje u vrhu stranice, uvek isti tekst u futeru i slično. Dinamički sadržaj je ono što se menja od posetioca do posetioca. Primera radi, to može biti nešto vrlo prosto poput današnjeg datuma (gde će danas pisati jedan tekst, a sutra drugi), do onih kompleksnijih stranica poput korisničkog profila (ukoliko neki sajt ima opciju registracije i prijavljivanja), raznoraznih anketa, korisničkih korpi kod e-commerce sajtova itd.

Dinamičkim sadržajima na webu se upravlja putem PHPa (ili nekog drugog programskog jezika, opcije su zaista brojne). Možemo kao primer uzeti stranicu rezultata pretrage nekog sajta, pošto je ona uvek stranica sa dinamičkim sadržajem jer zavisi od toga koje ključne reči pretražujemo. Kako to najčešće ide, korisnik ukuca ključne reči i pritisne “Pretraži”, nakon čega PHP program prihvata te ključne reči, kroz svoju implementiranu logiku pretražuje bazu podataka i nakon toga sortira i formatira rezultate pretrage tako da se oni mogu lepo ispisati kroz HTML/CSS. Uopštenije govoreći, PHP služi za sve moguće vidove izračunavanja i postavljanja logike funkcionisanja sajta, upravljanja korisnicima i njihovim sesijama.
S druge strane, PHP je jedan sasvim prosečan programski jezik u kojem postoji 90% komandi i akcija koje postoje i u drugim programskim jezicima, te ako naučite logiku i principe programiranja u PHPu, to znanje moći ćete da iskoristite i u drugim jezicima.

Korak treći – Javascript

Što nas dovodi do JavaScripta. Odmah da razbijemo iluzije – JavaScript nema veze sa programskim jezikom Java, iako delimično dele ime. JavaScript je interni programski jezik svakog web browsera putem kojeg se mogu vršiti neke opreacije na stranici bez kontaktiranja servera. Primera radi, JavaScript se koristi za sve one fine vizuelne efekte na web stranicama, slideshow, pop-up prikaz fotografija, validaciju podataka pri registraciji, dropdown meni funkcije i slično. Naravno, on se može koristiti i za mnogo naprednije stvari, ali će svima za početak biti dovoljno jednostavno poznavanje JavaScripta za implementaciju nekih već gotovih rešenja, kojih ima puno. Danas postoji veliki broj gotovih JavaScript biblioteka, među najpoznatijim su jQuery i Prototype, putem kojih možete implementirati neko od rešenja dosta jednostavnim pozivima u JavaScript kodu. Vremenom ćete, kako sve više budete stasavali kao programer, pisati i neka sopstvena rešenja, a ono što je verovatno najbitnije – znanje koje ste stekli tokom učenja PHP-a će vam dosta koristiti i ovde jer su, kao što je već pomenuto, neke osnovne sintaksni i logički konstrukti isti za skore sve programske jezike.

Front end” i “back end” programer

ProgramerU web programiranju, onako dosta generalizovano posmatrano, programerski posao i zadatke možemo podeliti u dva dela – “front end” i “back end“.

Front end” developeri najčešće imaju jedan tipski posao, a to je kreiranje web stranica na osnovu izdizajniranih rešenja. Drugim rečima, web dizajner nacrta prototipove stranica, kako one treba da izgledaju i taj materijal dostavi front end developeru koji od toga kreira HTML/CSS kod, time praktično spremajući dizajn za web sajt.

Back end” developeri, s druge strane, su oni koji su fokusirani isključivo na PHP i one akcije i operacije koje se dešavaju “iza kulisa”, uglavnom rade sa gotovim izdizajniranim web stranicama koje samo pune podacima koji su rezultati njihovih programa.

Ovo je sve bitno znati jer vi već nakon savladavanja znanja iz HTML/CSSa i nekih osnova JavaScripta možete da prihvatite jedan “front end” posao, i da se kroz njega dalje usavršavate, ali i da počnete da stičete nagradu za uložen trud. Profesionalno iskustvo je izuzetno bitan deo procesa učenja i sazrevanja jednog programera, pa vam ovaj “međukorak” može dodatno koristiti – pored toga što ćete zaraditi nešto novca, steći ćete iskustvo rada sa klijentima, osetićete šta to znači i kako to izgleda kada vam neko šalje web development zahteve, i kako je raditi pod pritiskom i imperativom rezultata, koji umeju biti ponekad malo stresni, ali su izuzetno efikasni u vašem procesu učenja. Stvari koje tada postignete i naučite tom prilikom pamtićete jako dugo i primenjivaćete ih bez muke u budućim projektima.

Materijali

S obzirom na popularnost ovih tema materijala za učenje ima neograničeno puno. Mnogi su i besplatni, neki se plaćaju, neki su samo pisani, neki interaktivni, izbor vam je zaista širok i možete odabrati opciju koja vam najviše odgovara.

Moj savet vam je da uzmete po jednu knjigu za obe oblasti (HTML/CSS i osnove JavaScripta najčešće idu u komadu, PHP ide zasebno), i da radite po njima paralelno uz neke od interaktivnih kurseva na webu.
Pri izboru knjiga konsultujte Amazon i pročitajte iskustva kupaca, to će vam pomoći pri odabiru one prave, a sužavanje izbora možete uraditi u Google pretragama.

Interaktivnih kurseva takođe ima veliki broj, moj prvi predlog će uvek biti CodeSchool koji ima odvojene kurseve za HTML/CSS i JavaScript, a organizacija kursa im je jako zabavna i jednostavna. Tutsplus sajt je takođe opcija gde možete naći veliki broj besplatnih kurseva, a recimo Pluralsight je opcija koja se plaća ali sadrži ogroman broj oblasti koje nisu isključivo sužene na IT. Codecademy je još jedna od opcija koja takođe nudi besplatne kurseve.

O kursevima i školama programiranja

Kursevi i škole programiranja mogu da vam pomognu u celom ovom procesu, ali nisu neophodni, i pre svega, nisu dovoljni! I pored kurseva, časova i vežbi najveći deo napora morate vi sami uložiti u samostalan rad i vežbanje. Bez toga ne postoji kurs koji će vas spremiti za ono što želite.
Sa te strane, ja nisam pobornik takvih kurseva jer koštaju puno a većinu materijala imate dostupno online, neke čak i u vidu video tutorijala i vežbi, organizovanih u kurseve. No ako mislite da bi vam školski rad sa tutorom pomogao, pohađanje nekog kursa je dobar način da se učvrsti kontinuitet u vašem radu i učenju, a to je opet bitna stavka za konačan uspeh.

Ukoliko se ipak odlučite za pohađanje, birajte kurseve koji pokrivaju što veći broj oblasti i koji su dugotrajni. Po mojoj proceni, osobi koja nema programerskog predznanja će trebati oko godinu dana i mnogo sati rada da bi postala programer sposobna da odradi neki posao samostalno. Kursevi koji zbijaju gradivo u kratak rok ne pokrivaju dovoljno široko oblasti koje obuhvataju i iz njih ćete izaći sa nekim vrlo ograničenim znanjem, nedovoljnim za bilo kakav profesionalni rad.

Magento

Magento

Magento je open-source framework izgrađen u PHPu koji korisnicima omogućava brzo i jednostavno postavljanje online prodavnice. Ako zamislimo Amazon kao tipičnog predstavnika e-commerce sajtova, korišćenjem Magenta kao baze možete pokriti skoro 90% osnovnih funkcionalnosti Amazona, a dodatnom doradom, stilizovanjem i implementacijom novih mogućnosti možete razvijati svoju web prodavnicu u smeru u kom želite.

Magento postoji od 2008. godine, dolazi u dve edicije – community i enterprise – od kojih je community verzija, naravno, besplatna i svima dostupna, dok se enterprise verzija plaća kroz godišnju licencu.
2011. godine Magento prelazi pod okrilje eBay-a koji ga je kupio za preko 180 miliona $, čime se Magento pozicionirao kao jedan od vodećih e-commerce sistema za manje i srednje prodavnice.

Mogućnosti Magenta

Mogućnost Magenta su izuzetno široke. Kao osnovne funkcionalnosti Magento podržava katalogizaciju i upravljanje proizvodima i kategorijama proizvoda, obradu porudžbina sa generisanjem i štampanjem faktura, ažuriranje cena i popusta kroz kompleksan sistem pravila, kao i kupone za popust, ažuriranje registrovanih korisnika, slanje newslettera itd. U okviru Magenta dolazi i CMS sistem putem kojeg vlasnici šopa mogu korigovati i menjati statički sadržaj na sajtu. Takođe, Magento poseduje i veliki broj parametara putem kojih se rad web prodavnice može prilagoditi željama i potrebama vlasnika, poput setovanja jasnih pravila za obračun poreza, internacionalizaciju, upotrebu različitih metoda plaćanja (PayPal je, naravno kao najrasprostanjeniji, podržan) i metoda isporuke i slično.

Magento ConnectPored svega ovoga Magento je izuzetno fleksibilan i neke nestandardne funkcionalnosti moguće je implementirati putem ekstenzija. Ekstenzije su nadogradnje Magento sistema odrađene od strane trećih lica, a koje omogućavaju nešto dodatno na svakom šopu na kom se instaliraju. Postoji čitava zajednica gde ih kreatori postavljaju i kroz koju se ekstenzije katalogizuju. Najčešće ekstenzije služe za implementaciju nekog sistema plaćanja koji nije toliko rasprostranjen, a pri čemu bi samostalno programiranje modula u Magentu i integracija sa tim sistemom trajala predugo i koštala previše. Drugi primeri ekstenzija su integracija sa različitim metodama za isporuku (DHL, FedEx), integracija sa nekim drugim web servisima (kao što je recimo MailChimp za bolje upravljanje newsletterima), implementacija dodatnih mogućnosti (recimo podela sadržaja preko socijalnih mreža, integracija login funkcije sa socijalnim mrežama itd) i druge.
Ekstenzije mogu biti besplatne za preuzimanje, dok se druge, nešto kompleksnije, plaćaju, najčešće po jednokratnom principu.

Tendencija u 21. veku je da se sve seli na web, oglašavanje, marketing, čak i mnoge birokratske procedure, a naravno to sve prati i velika ekspanzija web prodavnica i uopšte princip prodaje dobara/usluga putem Interneta. Za prodavca to znači izmenjena logistika i drugačiji procesi poslovanja – nepostojanje fizičke prodavnice smanjuje troškove zakupa prostora, dažbina, plaćanje zaposlenih, a fokus prelazi na web marketing i obradu elektronskih porudžbina. Iz ovih razloga e-commerce rešenja postaju idealna za manje i srednje prodavce. Iako postoji veliki broj servisa na Internetu putem kojih već možete prodavati svoje proizvode (već pomenuti Amazon i eBay, Aliexpress, Shopify) – Magento, i uopšte ideja posedovanja sopstvenog web sajta sa prodavnicom – omogućava prodavcima poslovanje bez plaćanja provizije tim servisima, i što je još bitnije – brendiranje i stvaranje drugačije i prepoznatljive web stranice, što je osnovni marketinški korak za unapređenje poslovanja.

Šta to sve znači ako ste programer?

E-Commerce sistemiNajkraće rečeno – puno dostupnog posla, veliki zahtevi vlasnika prodavnica i dugotrajna saradnja kroz održavanje sajta.
Prvo i osnovno – Magento se instalira za par minuta, uz njega dolazi osnovna tema, tako da teoretski sajt možete postaviti za manje od sat vremena. Ali niko vam to neće tražiti, upravo zbog pomenutog brendiranja, od vas će najčešće tražiti implementaciju potpuno nove teme i izgleda sajta, drugačiji raspored elemenata na stranici, neke moderne Javascript efekte i još neke dodatne funkcionalnosti koje ćete ili samostalno programirati ili obezbediti kroz neku od ekstenzija.
Dalje, Magento angažmani su po pravilu dugotrajni iz dva razloga – vlasnik prodavnice je selidbom prodaje na web fokusirao čitavo svoje poslovanje na sajt i neće želeti da ostane bez neophodne podrške za slučaj da nešto krene po zlu, i drugo, web prodavnice su kao živi organizmi – non stop se menjaju, non stop se uvodi nešto novo, nešto drugačije jer svi su deo jedne velike trke za kupcima i potrošačima, i svi se trude da budu inovativni.

Magento je izgrađen na ZEND frameworku i za ukuse mnogih je preterano kompleksan. Teoretski, to je MVC framework, ali takav da implementacija jednog sasvim običnog modula koji će doneti neku minimalnu promenu često može značiti kreiranje većeg broja klasa, čačkanje po raznim XML fajlovima, uz neizbežno lupanje glave oko toga zašto nešto neće da radi. Nažalost, i tu dolazimo možda do najveće mane Magenta, Magento dokumentacija je vrlo opskurdna i najčešće vam neće biti od neke velike pomoći. To praktično znači da je proces učenja programiranja u Magentu dug i mukotrpan, no zbog toga ne treba očajavati jer će vremenom stvari ići sve lakše i bolje ćete se snalaziti u kodu, i vaše mogućnosti i efikasnost će rasti, a potražnja za jakim i dobrim Magento programerima je uvek na nivou.

A šta ako niste programer?

Dizajneri takođe imaju veliki udeo u stvaranju bilo kojeg e-commerce sistema pa to važi i za Magento. Prodavci će često tražiti novi, originalan dizajn, nešto što će ostaviti jak utisak na posetioce sajta, ali i što će prezentovati proizvode na najbolji mogući način. Sa tehničke strane dizajniranje Magento sajta se neće puno razlikovati od dizajniranja drugih sajtova, osim što će dizajneri morati da se vode određenim smernicama po pitanju elemenata koji se moraju naći na određenim stranicama, za šta im je najčešće dovoljno malo rada u nekom demo šopu.

Posla u Magentu može biti i za biznis i marketing analitičare. Magento sam po sebi sadrži veliki broj podataka o porudžbinama, proizvodima, kupcima, koji se dalje mogu segmentirati radi sačinjavanja složenijih izveštaja putem kojih će prodavci dalje moći da menjaju strategiju svojeg delovanja. Ukoliko ste i stručnjak za SEO polja delovanja vam se dodatno šire i u svoju ponudu možete uvrsiti i SEO analizu i strategiju za poboljšanje posećenosti sajta, odnosno jačanje brenda.

Poželjno predznanje za rad u Magentu: PHP, ZEND, HTML/CSS, Javascript, Prototype/jQuery

loading