Prolog
U poslednjih par godina bilo je puno razgovora na temu koji tip knjigovodstvenih programa je najbolji: desktop LAN, web (aka cloud), desktop cloud itd sa validnim argumentima za i protiv bilo kog od ponuđenih rešenja.
Čak i na ovom blogu možete videti kako su se moji pogledi na ovu tematiku menjali sa vremenom od desktop (Knjigovodstveni programi – web vs desktop (2/2)) ka web (Web program za obračun zarada)
Ono što je pomalo smešno je da smatram da sam u oba slučaja bio u pravu 🙂 samo se kontekst okruženja i vremena u kome živimo menjao značajno tokom vremena i sa njim se menjao karakter optimalnih poslovnih aplikacija po meri korisnika.
S obzirom da se (na bazi mojih razgovora u poslednjih par meseci sa knjigovođama u Srbiji) izgleda oformio konsenzus oko toga da je web/cloud verovatno „ono pravo“ postavlja se pitanje da li je rat završen i web pobedio?
Evolucija i revolucija
Način na koji ja gledam na ovu problematiku je da se radi o konstantnoj evoluciji poslovnih platforma obeleženoj do sad sa tri glavne revolucije koje su propratile tri generacije poslovnog softvera.
Prva generacija je desktop softver gde se korisnici umrežavanju u lokalnu mrežu i gde se kolaboracija održava na nivou te mreže.
Primarni kriterijum je pokrivanje poslovnih procesa unutar organizacija. Revolucija je otpočeta 90-tih Novel mrežama i kliper programima i kasnije je propraćena (~ 2004.-e) evolucijom tih programa u Windows okruženje sa manjim ili većim uspehom. Većina poslovnog softvera u Srbiji pripada ovoj prvoj generaciji, ali je u konstantnom odumiranju.
Druga generacija počinje negde oko 2008-e kada počinje era web poslovnih rešenja gde su primarne odlike:
- virtualizaciji infrastrukture korišćenjem servisa cloud provajdera (niko više ne podešava mrežu, administrira kompjutere, instalira program, radi backup)
- dostupnost sa bilo kog uređaja bilo gde gde ima interneta
- korišćenje interneta kao mreže svih mreža za povezivanje korisnika organizaciono smeštenih van okvira poslovnih prostorija preduzeća
Dok je kod desktop poslovni softvera prve generacije LAN umrežavanje zadovoljavalo potrebe, kod programa druge generacije internet umrežavanje je primarni kriterijum produktivnosti.
Dok su prve web aplikacije bile primitivnije (sa serverskom implementacijom) čije je korišćenje upadljivo teže od aplikacija prve generacije, u svetu se početkom 2012-e pojavljuje novi tip javascript klijentskih SPA aplikacija gde je nivo korisničke produktivnosti jako poboljšan i uporediv sa desktop aplikacija prve generacije. Primere SPA aplikacije možete videti ako pogledate Papiri – SPA app ili GMail.
Druga generacija u Srbiji je u usponu trenutno sa sve većim i većim brojem preduzeća koji migriraju sa rešenja prve generaciji, s tim da vodeći proizvođači softvera ove generacije na žalost još uvek nisu prošli kroz SPA evoluciju tako da aplikacije nisu veoma udobne i produktivne za rad zahtevnijih korisnika.
Treća generacija
S obzirom na izneti stav o tome da SPA aplikacije druge generacije imaju sve prednosti internet web aplikacija i produktivnost na nivou aplikacija prve generacije, postavlja se pitanje šta više tu može da se poboljša?
Odgovor na to pitanje je krajnje jednostavan jer se manifestuje revolucijom koja menja naše celokupno društvo u svim segmentima – radi se naravno o aplikacijama za mobilne uređaje.
Naime, treća generacija uzima sve najbolje iz prethodne dve: klijent implementiran u mašinskom „native“ kodu i cloud infrastrukturu, ali podiže to sve na jedan potpuno viši nivo korišćenjem uređaja opšte potrebe koji je uvek sa nama – mobilnog telefona. Dok se u slučajevima prve i druge generacije poslovanje obavlja kući ili u kancelariji ispred računara u slučaju aplikacija treće generacije kancelarija je u džepu, uvek dostupna korisniku gde god se nalazio.
To je odraz nove realnosti u kojoj smo uvek povezani sa svojim okruženjem gde god se nalazili pa tako i naše potrebe i očekivanja u našem poslovanju su time podignuta na viši nivo.
Primer mobilne poslovne aplikacije – naravno moja omiljena kompanija Xero
A Papiri?
S obzirom na upravo izneti stav a možda i na bazi mog manifesta verovatno ste došli do zaključka da su novi papiri na kojima radim mobilna aplikacija i naravno u pravu ste ali samo delimično.
Ja suštinski verujem da moderne aplikacije moraju da budu dostupne u svim platformama koje korisnici preferiraju na bazi svojih iskustava i potreba.
To što većini nano preduzetnika verovatno mobilna aplikacija je savršeno dovoljna i odgovara jer su stalno u pokretu, ne znači previše komercijalisti preduzeća od 15 zaposlenih niti knjigovođi koji radi sa podacima 15 različitih firmi. Različiti tipovi korisnika imaju različite poglede na to šta je savršena knjigovodstvena aplikacija za njih.
Tako su i novi Papiri organizovani da u načelu imaju tri klijenata trenutno gde svi klijenti dele istu cloud infrastrukturu.
Evo da pokažem kako to izgleda na primeru podešavanja obračuna zarada.
Web klijent
Web kiljent je moderna SPA aplikacija koja ima standardni bootstrap meni na vrhu i nudi korisniku izbor opcija od kojih je jedna posvećena obračun zarada
Kada korisnik odabere Plate otvara mu se u browser prikaz opcija za podešavanje
Mobilni klijenti
Ono što je normalno na web sajtu nije normalno na mobilnom telefonu jer je ekran manji a i mobilne aplikacije su uglavnom napravljene sledeći određena pravila pa tako opcije obračuna zarada na Androidu prate materijalni dizajni i izgleda ovako
Isti ekran opcija na iPhone-u izgleda drugačije i od androida i od web-a jer prati iOS dizajn
Desktop klijent
Za potrebe korisnika kojima je produktivnost mnogo bitnija od mobilnosti, Papiri postoje kao Windows 10 aplikacija.
Kao i kod web I mobilnih aplikacija, windows 10 aplikacija je prilagođena dizajnu Windows 10 aplikacija na način koji optimalno koristi činjenicu da korisnik sedi ispred velikog ekrana svog računara
Zaključak?
Jako prosto – moderne aplikacije moraju da budu dostupne korisnicima u svim oblicima i verzijama prilagođene njihovim različitim potrebama.
Naravno, slažem se. Na taj način dobiješ sve najbolje iz oba svijeta. I to je baš kako sada pravim novi pos sector da funkcionira 🙂
Koje ste softverske alate koristili za razvoj?
Server – Azure API/Redis/Service Bus/SqlServer, SignalR, EFCore
Web – React/KendoUI/Typescript/Bootstrap
Windows10 – UWP (view) + PCL library
Mobile – Xamarin.Forms (view) + PCL library