Kako prilagoditi Angular početni zaslon (Initial Loading Screen)

Ako ste do sada razvijali Angular web aplikacije ili koristili tuđe mogli ste kod svih njih primijetiti jednu zajedničku stvar, a to je početni zaslon koji se prikazuje prije nego se učita Angular aplikacija i na kojemu u gornjem lijevom kutu ekrana piše “Loading…” (Angular 2) uz monotonu bijelu pozadinsku boju. Kasnije je to izbačeno te se prikazuje samo obična, prazna, bijela pozadina (>= Angular 4).

Išao sam malo istražiti kako najbolje to riješiti tako da i meni kao developeru, a i korisniku bude lijepo. Našao sam nekoliko mogućnosti od kojih sam odabrao jednu o kojoj ću nešto više napisati u nastavku.

Kreiranje novog Angular projekta

Koristeći Angular CLI pokrećem novi projekt

Početni zaslon je čisto bijele boje i to je dobar izbor ako nakon toga ide prikaz npr. stranice za prijavu korisnika s bijelom pozadinom. U tom će se slučaju te dvije bijele pozadinske boje lijepo stopiti i činiti cjelinu.

Kako prilagoditi Angular početni zaslon (Initial Loading Screen)

Prilagođeni početni zaslon

Za promjenu prikaza početnog zaslona dovoljno je kreirati novi <div> s klasom loading.

Na kraju to izgleda ovako

Kako prilagoditi Angular početni zaslon (Initial Loading Screen)

Zaključak

To bi bilo sve. Ovo se možda ne čini kao nešto vrijedno spomena, ali svakako daje onaj završni sjaj Angular web aplikaciji.

Angular CRUD aplikacija

U ovom ću blog postu napraviti jednostavnu Angular CRUD (create, read, update, delete) aplikaciju koja će se sastojati od forme za pregled podataka uz mogućnost dodavanja, uređivanja i brisanja podataka.

CRUD operacije nešto su s čime se svaki web developer najčešće susreće i zato bi ovaj primjer posebno mogao biti koristan novim developerima ili onima koji će to tek postati.

Uvod

Cilj ovog blog posta je pokazati:
– kako kreirati Angular projekt koristeći Angular CLI
– kako kreirati i koristiti servis pomoću kojega ću pozivati JSON API
– kako dodati Bootstrap za brže kreiranje forme za unos, pregled, uređivanje i brisanje sadržaja

Kreiranje Angular projekta

Pomoću Angular CLI-a kreirat ću novi projekt.

Ako projekt sada otvorim u web pregledniku na adresi http://localhost:4200/ dobit ću sljedeće

Angular CRUD aplikacija

S obzirom da umjesto toga želim imati formu za unos, pregled, uređivanje i brisanje sadržaja prvo ću dodati podršku za Bootstrap na način da u index.html dodam

. I sada mogu koristiti Bootstrap komponente.

Kasnije ću se vratiti na izgled forme, a sada idem postaviti glavni dio funkcionalnosti koji se tiče kreiranja servisa i pozivanja API-ja.

Kreiranje servisa za API

Servis pomoću kojega ću vršiti sve upite na API kreiram naredbom

Nakon čega dobijem korisnici-api.service.ts

Servis se može koristiti za različite svrhe, ali kako ću meni ovdje glavna svrha biti slanje upita na API znači da obavezno moram koristiti Http servis.

Konačan izgled servisa može se vidjeti u nastavku, a njime je pokriveno sve – od pregleda svih korisnika, dodavanja novih, uređivanja i brisanja postojećih.

Izgled forme (app.component.html)

Za izgled forme iskoristit ću Bootstrap komponente. Struktura forme nalazi se unutar app.component.html, a izgleda ovako:

Forma na početku i bez podataka izgleda ovako:

Angular CRUD aplikacija

Sada kada imam definiran izgled forme mogu kreirati opcije koje će joj dati funkcionalnost.

Dodavanje (POST)

Što se dodavanja sadržaja tiče nije ga moguće dodati dok sva obavezna polja nisu unesena. U ovom slučaju postoje dva polja, ime i prezime te broj telefona, i oba su obavezna. S obzirom da u formi za sada nema niti jednog korisnika *ngIf="ukupanbrojkorisnika < 1" prikezuje se poruka “Nema podataka”.

Nakon dodavanja korisnika popis se automatski osvježava i prikazuje sve dodane korisnike.

Angular CRUD aplikacija

Pregled (GET)

Kada se Angular web aplikacija pokrene automatski se dohvaća popis svih do tada unesenih korisnika. Za tu svrhu koristim ngOnInit() što je dio Angular Lifecycle Hook.

Također, odmah dohvaćam i dužinu niza this.ukupanbrojkorisnika = res.length; kako bi mogao prikazati ukupan broj korisnika.

Angular CRUD aplikacija

Uređivanje (PUT)

Kod uređivanja korisnika imam dvije funkcije. Prva urediKorisnika(); dohvaća podatke odabranog korisnika i prikazuje ih u gornjoj formi za unos/uređivanje, a druga urediKorisnika2(); obavlja proces uređivanja odabranog korisnika tj. šalje nove podatke na API.

Nakon što su novi podaci poslani popis korisnika se automatski osvježava, a gumb ‘Uredi’ ponovno postaje ‘Spremi’.

Angular CRUD aplikacija

Brisanje (DELETE)

Brisanje korisnika zadnji je korak izrade ovog CRUD primjera. Nakon što je odabrani korisnik obrisan popis se automatski osvježava.

Angular CRUD aplikacija

Zaključak

Ovo je bio jednostavan primjer Angular CRUD forme. Mogao sam ovdje dodatno uljepšati izgled forme ili na drugačiji način slati upite na API, ali mislim da je ovo sasvim dovoljno za početak jer kako god bilo korištenjem ovog primjera može se napraviti funkcionalna forma za unos, pregled, uređivanje i brisanje sadržaja.

I za kraj, NPM paketi korišteni u ovom primjeru:

Uvod u Angular Material

Prilikom pokretanja Angular projekta dobijemo dobru osnovu za razvoj web aplikacija. S obzirom da to podrazumijeva i dobar dizajn važno je odmah na početku odabrati kojim putem će se krenuti. U velikom broju slučajeva dobar izbor je Bootstrap, ali ako želimo nešto u skladu s trenutnim trendovima možemo koristiti još i Angular Material.

Kreiranje Angular projekta

Novi projekt kreiramo koristeći Angular CLI i pokrećemo naredbom

Sada na adresi http://localhost:4200 možemo vidjeti sljedeće

Angular Material dizajn - početna stranica

Instalacija Angular Material paketa

U mapi ranije kreiranog projekta pokrećemo sljedeću naredbu

Instalirali smo tri nova NPM paketa:
@angular/material – službeni Material paket za Angular
@angular/cdk – CDK (Component Development Kit) pruža mogućnost razvoja prilagođenih Angular Material komponenti
@angular/animations – neke komponente ovise o ovome kako bi mogle prikazivati napredne tranzicije

I sada unutar package.json možemo vidjeti sljedeće

Zadane Material teme

Uvod u Angular Material

Angular Material nudi nam mogućnost biranja između nekoliko zadanih tema koje u projekt možemo dodati jednostavnim uvozom unutar datoteke src/styles.css

deeppurple-amber.css – @import ‘~@angular/material/prebuilt-themes/deeppurple-amber.css’;
indigo-pink.css – @import ‘~@angular/material/prebuilt-themes/indigo-pink.css’;
pink-bluegrey.css – @import ‘~@angular/material/prebuilt-themes/pink-bluegrey.css’;
purple-green.css – @import ‘~@angular/material/prebuilt-themes/purple-green.css’;

Material ikone i tipografija

Osim tema imamo mogućnost korištenja i Angular Material ikona kao i tipografije.

Angular Material ikone

To postižemo dodavanjem sljedeće poveznice unutar src/index.html

Podrška za geste

U službenoj dokumentaciji spominje se još u Hammer.JS paket kojega je potrebno dodati u Angular projekt ako se planiraju koristiti komponente kao što su npr. Tooltip i Slider, kako bi se iz njih dobila maksimalna funkcionalnost.

Nakon instalacije potrebno je unutar src/main.ts dodati

Angular Material komponente

Instalacijom ranije navedenih paketa još uvijek nismo sve riješili i naš Angular projekt i dalje nema podršku za korištenje svih Angular Material komponenti.

Ako npr. želimo u projekt dodati npr. Card komponentu moramo unutar njene dokumentacije pronaći API referencu koja će nam to omogućiti.

Angular Material kartica

Za svaku komponentu koju želimo koristiti moramo pronaći pripadajuću API referencu i navesti ju unutar naše app.module.ts datoteke što na kraju može izgledati i ovako:

Ako sada usporedimo sliku izgleda Angular aplikacije s početka ovog blog posta i nakon dodavanja Angular Materiala razlika je jasno vidljiva.

Uvod u Angular Material dizajn

Zaključak

I to je sve. Ovo čak može djelovati i previše jednostavno da bi bilo istinito, ali to je zapravo i cilj korištenja Angular Materiala.

Ionic 3 desktop aplikacija

Iako sam do sada o Ionicu pisao samo u kontekstu mobilnih aplikacija nedavno sam naišao na primjere korištenja Ionica kao cross-platform desktop aplikacije što mi se učinilo zanimljivim pa sam odlučio nešto više saznati o tome i napisati ovaj blog post.

Što je Electron?

Electron je framework za razvoj cross-platform desktop aplikacija koristeći JavaScript, HTML i CSS. S tehnologijama koje koristi jako podsjeća na Ionic, a omogućava razvoj desktop aplikacija koje se mogu pokrenuti na Windows, Mac i Linux platformi.

Priprema Ionic projetka

Za početak ćemo kreirati novi Ionic projekt.

Kada aplikaciju pokrenemo nećemo vidjeti ništa što već ranije nismo vidjeli. Standardna Ionic aplikacija koja se pokreće u web pregledniku kao što je npr. Google Chrome.

Ionic desktop aplikacija

Postavljanje Electron projekta

Sada je potrebno dodati Electron unutar našeg Ionic projekta koristeći naredbu:

Ionic desktop aplikacija

Sve dalje opisane korake radimo prema službenoj dokumentaciji na adresi https://electron.atom.io/docs/

Sada ćemo kreirati datoteku main.js koja će biti ulazna točka prilikom pokretanja Ionic-Electron aplikacije. Više o ovoj datoteci možete pronaći na adresi https://electron.atom.io/docs/tutorial/quick-start/

Osim te datoteke moramo unutar package.json dodati dvije važne naredbe.

"main": "main.js" služi kako bi se znalo koju datoteku gledati kada se projekt pokrene kao Electron aplikacija.

"start": "electron ." služi kao naredba za pokretanje Electron aplikacije.

Spremni smo za kreiranje skripte buildElectron.sh koja će obaviti nekoliko radnji automatski tako da ih ne moramo svaki put ručno pokretati.

I konačno, Ionic-Electron aplikaciju možemo pokrenuti naredbom ./buildElectron.sh

Ionic desktop aplikacija

ili dvoklikom na ikonu buildElectron skripte unutar našeg projekta.

Ionic desktop aplikacija

nakon čega dobijemo našu Ionic aplikaciju unutar Electrona.

Ionic desktop aplikacija

Možete primijetiti da se prilikom pokretanja aplikacije automatski pokrenuo i Developer Tools. To možemo spriječiti ako unutar main.js datoteke zakomentiramo win.webContents.openDevTools().

Dizajn i prilagodba sučelja

Dizajn trenutno kreirane aplikacije prilagođen je mobilnim uređajima i ako ju raširimo preko cijelog ekrana nekog desktop uređaja to neće izgledati lijepo jer će npr. popis stavki ići jedan ispod drugog preko cijelog ekrana umjesto da se fino rasporedi po nekoliko stavki u jedan red.

Ovo ćemo prikazati na primjeru stranice list.html

Ionic desktop aplikacija

To ćemo riješiti korištenjem Ionic Grida.

Konačan izgled na većem ekranu je sljedeći

Ionic desktop aplikacija

Produkcijska verzija Electron aplikacije

Kada smo zadovoljni s našom aplikacijom možemo kreirati produkcijsku verziju.

Prije nego to napravimo moramo instalirati Electron Packager. To možemo učiniti naredbom $ npm install -g electron-packager

Nakon toga ćemo kreirati produkcijsku verziju Electron aplikacije za Windows OS.

Ionic desktop aplikacija

Proces kreiranja produkcijske verzije Electron aplikacije za Windows, Mac ili Linux može se olakšati i ubrzati na sljedeći način.

U datoteku package.json dodajemo

I onda se proces kreiranja produkcijske verzije Electron desktop aplikacije pokreće sljedećim naredbama:
– Windows OS: npm run package-win
– Mac: npm run package-mac
– Linux: npm run package-linux

Zaključak

Iz ovog ste blog posta mogli vidjeti kako Ionic mobilnu aplikaciju pretvoriti u cross-platform destkop aplikaciju pa iako se to čini zanimljivim i očito da je moguće osobno se ne planiram detaljnije tome posvetiti. Također, ne treba zanemariti niti činjenicu da na tu temu ne postoji dovoljno primjera i dokumentacije.

Kako prebaciti WordPress blog na HTTPS?

U ovom ću blog postu pokazati postupak prebacivanja WordPress bloga s HTTP protokola na HTTPS. Ako to već niste učinili krajnje je vrijeme. Za prebacivanje WordPress bloga na HTTPS protokol treba vam plan, malo vremena, tehničkog znanja, backup i naravno SSL certifikat.

Uvod

Što je SSL?

SSL (Secure Sockets Layer) tehnologija je enkripcije podataka koji putuju između web-preglednika i web-poslužitelja koja pomaže u zaštiti korisničkih podataka. Web-adrese koje su zaštićene SSL protokolom započinju izrazom “https://, a ne izrazom “http://, pa zato neki SSL nazivaju i HTTPS. – Wiki

Postoji više vrsta SSL certifikata,  a glavni su:
DV (Domain Validation) – ovaj certifikat je dovoljan za vaš blog
OV (Organization Validation)
EV (Extended Validation

Zašto SSL/HTTPS?

Kako prebaciti WordPress blog na HTTPS?

Nekoliko je razloga zašto bi trebali na svojem WordPress blogu koristiti SSL/HTTPS.

Sigurnost – Ovo je osnovni razlog zašto je potrebno koristiti SSL certifikat tj. HTTPS protokol. Za običan blog ovaj razlog i nije toliko bitan, osim možda za administratora, međutim web stranice/trgovine koje vrše naplatu putem kreditnih kartica svakako moraju koristiti SSL/HTTPS zbog potrebe za enkriptiranim prijenosom korisničkih podataka kao što su broj kreditne kartice, osobni identifikacijski broj (OIB) i sl.

Povjerenje/vjerodostojnost –  Iako korisnici u ovom trenutku možda ne ostavljaju povjerljive podatke na vašem blogu oni mogu biti sigurni da s vaše strane ulažete maksimalne napore kako bi osigurali sigurno korištenje vašeg bloga. Na taj način podižete razinu povjerenja korisnika. To će posebno doći do izražaja kada većina stranica bude koristila SSL/HTTPS jer će tada biti neobično posjetiteljima vidjeti neku stranicu koja nije ‘zelena’.

Bolja pozicija na tražilicama/SEOGoogle je i službeno objavio da je ne/korištenje HTTPS-a na web stranicama jedan od faktora koji će utjecati na rangiranje web stranica. To znači da je veća šansa da posjetitelji pronađu vašu web stranicu ako koristite SSL/HTTPS. Iako je taj faktor tek jedan mali dio onoga što Google gleda ipak nije zanemariv.

Migracija na HTTPS

Nabava i instalacija SSL certifikata

SSL certifikat možete kupiti ili koristiti neku od besplatnih verzija kao što su Let’s Encrypt ili AutoSSL od cPanela ako vaš pružatelj hosting usluga to dopušta.

Postavljanje SSL certifikata možete prepustiti hosting tvrtki ili odraditi samostalno putem npr. cPanela.

Kako prebaciti WordPress blog na HTTPS?

Kada je SSL certifikat uspješno instaliran možete pristupiti HTTS i HTTPS verziji vašeg bloga. Međutim postupak je daleko od gotovog jer potrebno je napraviti konkretne i trajne promjene kako bi vaš blog postojao samo u HTTPS verziji. Više o tome u nastavku.

Prije nastavka testirajte ispravnost SSL certifikata:
https://www.ssllabs.com/ssltest/analyze.html
https://www.sslshopper.com/ssl-checker.html

Promjena HTTP poveznica na HTTPS

WordPress sve poveznice sprema u MySQL bazu podataka. U bazi može biti više tisuća poveznica i sve ih je potrebno prebaciti na HTTPS. To ćemo ovdje učiniti ručno na način da ćemo preuzeti MySQL bazu podataka na lokalno računalo, otvoriti bazu koristeći Notepad++, promijeniti sve poveznice sa “http://” na “https://“ i ponovno vratiti bazu podataka na hosting.

1 – Izvoz MySQL baze na lokalno računalo

Kako prebaciti WordPress blog na HTTPS?

2 – Zamjena HTTP poveznica sa HTTPS

Kako prebaciti WordPress blog na HTTPS?

3 – Pražnjenje aktivne MySQL baze. Prije ovog koraka budite sigurni da imate kopiju originalne baze na lako dostupnom mjestu.

Kako prebaciti WordPress blog na HTTPS?

4 – Uvoz nove MySQL baze sa HTTPS poveznicama

Kako prebaciti WordPress blog na HTTPS?

Vaš blog bi blog sada trebao biti dostupan na HTTP i na HTTPS protokolu. Ako se nakon ovog koraka vaš blog ne prikazuje kako bi trebao znači da je došlo do greške prilikom rada s bazom podataka. Provjerite jeste li uspješno napravili uvoz nove MySQL baze i ako je potrebno ponovite postupak.

Ako se ne usudite raditi promjene ovakve vrste na MySQL bazi možete koristiti plugin Better Search Replace, ili neki drugi, koji obavlja isti posao.

Na stranici https://www.whynopadlock.com možete provjeriti postoji li još neka zaostala HTTP poveznica, ako ne postoji znači da ste sve do sada uspješno napravili i možete nastaviti dalje.

301 redirekcija

301 redirekcija je službeni standard koji se koristi za označavanje trajno premještenog sadržaja. U ovom slučaju vaš se blog trajno premješta sa HTTP protokola na HTTPS protokol.

Spojite se putem FTP-a na svoj hosting i unutar .htaccess datoteke dodajte sljedeće:

S postavkama unutar .htaccess datoteke budite jako oprezni, obavezno u blizini imajte kopiju originalnih postavki i ako niste sigurni što napraviti kontaktirajte korisničku podršku tvrtke u kojoj imate zakupljen hosting paket ili se poslužite pluginom Easy HTTPS Redirection koji će za vas obaviti izmjenu postavki unutar .htaccess datoteke tj. dodati će sljedeće:

Ako sada posjetite HTTP verziju vašeg bloga trebali bi automatski biti preusmjereni na HTTPS verziju.

To je sve što se tiče vašeg hosting i WordPress bloga. Sve dalje što ću navesti tiče se marketing strane cijelog ovog postupka. S obzirom da većina prometa web stranica stiže od strane web tražilica kao što je Google Search potrebno je i njih obavijestiti o ovoj promjeni kako ne bi došlo do zabune ili još gore kako vas Google ne bi kaznio jer može pomisliti da imate dvije različite web stranice s potpuno istim sadržajem, a Google to ne voli.

Gdje su nestali ‘lajkovi’?

Nakon promjene na HTTPS protokol možete primijetiti da se stanje na gumbima za ‘šeranje‘ na društvene mreže resetiralo na nulu! Ako imate relativno aktivan blog čiji se sadržaj dijeli na društvenim mrežama nije lako za prihvatiti da je odjednom sve vraćeno na nulu. Također kada dođu novi posjetitelji vrlo lako mogu pomisliti da vaš sadržaj nikome nije zanimljiv jer se uopće ne dijeli.

Ipak nije sve izgubljeno. Postoji način za vraćanje statistike dijeljenja vašeg sadržaja. Rješenje se zove Social Warfare Pro.

Kako prebaciti WordPress blog na HTTPS?

Nakon što kupite plugin i aktivirate ga imate dostupnu opciju “Share Recovery” koja vam omogućava vraćanje teško stečenih ‘šerova‘ vašeg sadržaja na društvenim mrežama.

Kako prebaciti WordPress blog na HTTPS?

Nakon što pokrenete vraćanje broja ‘šerova‘ možete vidjeti da se stanje vratilo na prijašnje.

Kako prebaciti WordPress blog na HTTPS?

Google Search Console

Potrebno je kreirati novi Google Search Console profil za HTTPS
verziju vašeg bloga zato što Search konzola ne podržava promjenu adrese sa HTTP na HTTPS verziju.

Kako prebaciti WordPress blog na HTTPS?

Nakon toga kreirajte i dodajte novu sitemap.xml datoteku koja će vam pomoći u bržem indeksiranju. sitemap.xml možete generirati na adresi https://www.xml-sitemaps.com

Kako prebaciti WordPress blog na HTTPS?

Nakon što ste uspješno napravili novi HTTPS profil slobodno možete obrisati stari HTTP profil ako ga imate.

Kako prebaciti WordPress blog na HTTPS?

Google Analytics

Ako do sada niste koristili Google Analtycs onda je pravo vrijeme da počnete, no ako ste ga koristili potrebno je napraviti manje izmjene kako bi se počela prikupljati statistika i za vašu HTTPS verziju bloga.

Ako ovo ne napravite Google Analtycs više neće prikupljati vrlo korisnu statistiku posjećenosti vaših web stranica, a siguran sam da to ne želite.

Ažurirajte “postavke web entiteta”

Kako prebaciti WordPress blog na HTTPS?

i ažurirajte “postavke vlasničkog pregleda”

Kako prebaciti WordPress blog na HTTPS?

Zaključak

Osim ranije navedenog postoji još nešto što možete učiniti kako bi tranzicija na HTTPS prošla u najboljem redu. Svakako ažurirajte sve poveznice koje vode na vašu novu web stranicu.

Kako prebaciti WordPress blog na HTTPS?

Ovo je samo jedan od načina kako svoj WordPress blog možete prebaciti na HTTPS. Ja sam odabrao ovaj način što ne znači da morate i vi. U svakom slučaju naoružajte se strpljenjem i rezervirajte si nekoliko sati vremena samo za ovaj posao kako bi ga napravili kako treba i mogli mirno spavati.

Najgora stvar koju možete napraviti je žuriti i napraviti polovičan posao zbog kojeg vas i Google može kazniti iako ste imali najbolju namjeru, a da ne govorim koliko možete razočarati svoje posjetitelje kada dođu na vaš blog koji ne radi.

Nadam se da sam vam barem donekle uspio pojasniti postupak prebacivanja WordPress bloga sa HTTP protokola na HTTPS.

Za one koji žele znati više: