Sa najnovijom generacijom pametnih tehnologija, sve više i više uredjaja ima potrebu za podacima neophodnim za njihovu osnovnu funkcionalnost. Pametni satovi, frižideri, garažna vrata su samo neki od njih.
Razvoj i održavanje API backend aplikacije za usluživanje nekoliko generacija uređaja i njihovih specifičnih potreba postalo je veoma teško i skupo.
GraphQL pruža alternativu i promenu u paradigmi izmeštanjem odgovornosti za strukturu podataka u API pozivima ka samom klijentu. Ovo obezbedjuje optimizaciju u prenosu podataka isključujući nepotrebne podatke i u isto vreme, smanjuje kompleksnost API poziva i metoda što ujedno ubrzava i olakšava održavanje istih.
Konferencija Javantura Zagreb 2014 by HUJAK
Java na klijentskoj strani – ima li budućnosti? by Ivan Vučak
U proteklih nekoliko godina Java se pozicionirala kao tehnologija izrade serverskih komponenti, ali kao da se zaboravlja da se Java koristila iza izradu Rich Internet aplikacija (RIA). Da li je Java konkurentna na području RIA te koliku ulogu u tome imaju razni sigurnosni standardi? Kako održavati postojeće RIA sustave uz općenito nepovjerenje ostalih sustava prema Java klijentskim aplikacijama? U ovom predavanju bavit ćemo se usporedbom Jave s ostalim tehnologijama te pokazati zašto strepimo kod svakog Java update-a.
Vert.x (vertx.io) je relativno novi, asinkroni, poliglotni framework uvjetovan događajima te baziran na JVM-u, a svojevremeno jedan od najpraćenijih projekata na GitHubu. Također, bio je i razlog ozbiljnih napetosti između Red Hata i VMwarea, koje su umalo zaustavile projekt. Cilj ovog predavanja je predstaviti Vert.x svijet, pokazati osnove, te ponuditi najbolja iskustva, prakse i preporuke pri njegovoj uporabi.
Javantura, Zagreb, 2014.
Konferencija Javantura Zagreb 2014 by HUJAK
Vert.x – asinkroni, skalabilni i poliglotni framework nove generacije by Mihovil Rister
Vert.x (vertx.io) je relativno novi, asinkroni, poliglotni framework uvjetovan događajima te baziran na JVM-u, a svojevremeno jedan od najpraćenijih projekata na GitHubu. Također, bio je i razlog ozbiljnih napetosti između Red Hata i VMwarea, koje su umalo zaustavile projekt. Cilj ovog predavanja je predstaviti Vert.x svijet, pokazati osnove, te ponuditi najbolja iskustva, prakse i preporuke pri njegovoj uporabi.
Konferencija Javantura Zagreb 2014 by HUJAK
Alfresco – Neo4j integracija – nova vrsta CMS aplikacija by Damir Murat
Graph baze imaju mnoge primjene, a jedna od njih je obogaćivanje i novi način pretraživanja i korištenja postojećih podataka. Ako prateći tu ideju povežemo CMS sustav Alfresco (www.alfresco.com) i graph bazu podataka Neo4j (www.neo4j.org), otvara se mogućnost kreiranja nove vrste CMS aplikacija. Dodamo li u mješavinu još i tehnologije kao što su Ext JS, D3.js i Grails, rezultat može biti vrlo atraktivan za krajnjeg korisnika.
This is a presentation given at www.jobfair.ba, about different types of carreers in an ICT company. It's introductory level, designed for students looking for basic guidance.
Konferencija Javantura Zagreb 2014 by HUJAK
Java na klijentskoj strani – ima li budućnosti? by Ivan Vučak
U proteklih nekoliko godina Java se pozicionirala kao tehnologija izrade serverskih komponenti, ali kao da se zaboravlja da se Java koristila iza izradu Rich Internet aplikacija (RIA). Da li je Java konkurentna na području RIA te koliku ulogu u tome imaju razni sigurnosni standardi? Kako održavati postojeće RIA sustave uz općenito nepovjerenje ostalih sustava prema Java klijentskim aplikacijama? U ovom predavanju bavit ćemo se usporedbom Jave s ostalim tehnologijama te pokazati zašto strepimo kod svakog Java update-a.
Vert.x (vertx.io) je relativno novi, asinkroni, poliglotni framework uvjetovan događajima te baziran na JVM-u, a svojevremeno jedan od najpraćenijih projekata na GitHubu. Također, bio je i razlog ozbiljnih napetosti između Red Hata i VMwarea, koje su umalo zaustavile projekt. Cilj ovog predavanja je predstaviti Vert.x svijet, pokazati osnove, te ponuditi najbolja iskustva, prakse i preporuke pri njegovoj uporabi.
Javantura, Zagreb, 2014.
Konferencija Javantura Zagreb 2014 by HUJAK
Vert.x – asinkroni, skalabilni i poliglotni framework nove generacije by Mihovil Rister
Vert.x (vertx.io) je relativno novi, asinkroni, poliglotni framework uvjetovan događajima te baziran na JVM-u, a svojevremeno jedan od najpraćenijih projekata na GitHubu. Također, bio je i razlog ozbiljnih napetosti između Red Hata i VMwarea, koje su umalo zaustavile projekt. Cilj ovog predavanja je predstaviti Vert.x svijet, pokazati osnove, te ponuditi najbolja iskustva, prakse i preporuke pri njegovoj uporabi.
Konferencija Javantura Zagreb 2014 by HUJAK
Alfresco – Neo4j integracija – nova vrsta CMS aplikacija by Damir Murat
Graph baze imaju mnoge primjene, a jedna od njih je obogaćivanje i novi način pretraživanja i korištenja postojećih podataka. Ako prateći tu ideju povežemo CMS sustav Alfresco (www.alfresco.com) i graph bazu podataka Neo4j (www.neo4j.org), otvara se mogućnost kreiranja nove vrste CMS aplikacija. Dodamo li u mješavinu još i tehnologije kao što su Ext JS, D3.js i Grails, rezultat može biti vrlo atraktivan za krajnjeg korisnika.
This is a presentation given at www.jobfair.ba, about different types of carreers in an ICT company. It's introductory level, designed for students looking for basic guidance.
Panel diskusija - usporedba Web frameworka (IT Showoff)IT Showoff
Kod izrade web projekta postoje razne mogućnosti odabira frameworka na kojem će se projekt bazirati. Mi smo odlučili izdvojili pet glavnih frameworka te oko njih izgraditi kvalitetnu panel diskusiju.
Vjerujemo da većina developera koji će sudjelovati na IT Showoff konferenciji su barem u jednom trenutku svoje karijere radili web site ili web aplikaciju na nekom od odabranih frameworka. Isto tako, vjerojatnost da su koristili, i temeljito isprobali sve njih, je vrlo mala. Zato nam je cilj putem kompetentnih stručnjaka pokušati publici prenijeti iskustva vezana za pojedine tehnologije, njihova osnovna svojstva, prednosti i mane.
Panelisti su svi od reda pravi majstori svog zanata, te će usporedno proći važna svojstva svakog frameworka i usporediti ga s drugima.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10. Stipe Predanic
Predavanje iz Dinamičkih web aplikacija, 10. predavanje
Video: https://www.youtube.com/watch?v=9Nx_yF9BMOM&index=11&list=PLYqeapOP_CtS0kbdbo_GXFgnS81JGAd8L
Tema: AJAX
Datum snimanja: 12.5.2016
Description and analysis of MEAN stack and underlying technologies (Mongo DB, Express, Angular and Node JS). Review of development tools & techniques. Performance, best practices. Common usage scenarios, pros and cons. How to use it, when to use it, when not to use it.
Auditing of business applications is very important especially in online banking because we are working with monetary transactions. Privredna banka Zagreb had an requirement
to implement a flexible system to audit user activity in our online banking for SME clients especialy since are authorization model was rather complex, for that we decided to use api with Java filters and intereceptors on are web application and for storage system we choosed MongoDB NoSQL database. In this presentation we are going to show you how we did it.
Often, there is a difference of opinion between IT specialists who make business apps with databases in client-server architecture and those who skipped the client-server architecture altogether and began working on web applications. The former usually (but not always) tend to write their code in the database, while the latter consider the database a “black box”, which often serves only as a data container, while the business logic resides in the application server. There are a lot of other questions. The author thinks that specific needs require consideration. It is important to learn and think, and avoid being narrow-minded and accept a single “truth”. These questions will be considered through the Oracle ADF framework.
Nowadays when REST is popping out everywhere and every single API is a REST service, a single mention to RPC seems like a time travel into the past. In the shadows of REST's glory, Google has quietly made and open sourced it's RPC framework (intuitively) called gRPC under the slogan "boilerplate to high-performance scalable APIs". Considering popular names already using it, looks like there's much more to a story than it seems. What's it all about? What's wrong with JSON and REST? And why does HTTP matter?
Excel je jedan od najkorištenijih poslovnih programa danas u svijetu pa ipak mnogi poslovni korisnici koriste samo ograničeni set funkcionalnosti u njemu. To je glavni razlog zbog čega se mnoge radnje rade ručno umjesto korištenjem neke od naprednijih Excel funkcionalnosti koje mogu uštedjeti ogromne količine vremena i u isto vrijeme dati bolje rezultate.
Napredne opcije kao što su Pivot tablice, analiza i napredno filtriranje podatka, bazne i razne ostale funkcije u praksi se vrlo rijetko koriste što korisnicima onemogućava jasan uvid i analizu vlastitih podataka. Zbog toga su isti problemi prisutni i kod vizualizacije podataka u obliku praktičnih i zornih grafova i dijagrama koji mogu puno jasnije dati uvid u podatke.
Cilj ovog seminara jer pomoći postojećim Excel korisnicima da se upoznaju s naprednim opcijama te tako ubrzaju, optimiziraju, adekvatno analiziraju i vizualiziraju svoje podatke u Excelu.
Non-functional testing is an important, but often ignored step in the process of developing applications. Gatling is a tool that enables us to simulate load, performs the associated measurement and presents the results of the performance testing. Why is Gatling detected by the ThoughtWorks radar? Because it is based on Akka, Netty and Scala technologies and so this lecture will show that writing performance scripts don’t have to be boring. With the concept and methodology of performance testing, using Gatling, the author will present personal experiences from previous projects testing the JVM applications.
Gatling - oružje u redovima performansnog testiranjaA. Kranjec
Nefunkcionalno testiranje je bitan, ali često zaboravljen element u procesu razvoju aplikacija. Gatling je alat za simulaciju opterećenja na testiranoj aplikaciji, provodi pripadna mjerenja i prezentira rezultate provedenog performansnog testiranja. Zašto je Gatling primijećen od strane ThoughtWorks radara? Zato što je alat baziran na Akka, Netty i Scala tehnologijama te će predavanje pokazati da pisanje performansnih testova ne mora biti dosadno. Uz koncept i metodologiju performansnog testiranja, korištenjem Gatlinga, autor će iznijeti osobna iskustva sa dosadašnjih projekata testiranja JVM aplikacija. Prezentacija sa konferencije JavaCro'14.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9. Stipe Predanic
Predavanje iz Dinamičkih web aplikacija, 9. predavanje
Video: https://www.youtube.com/watch?v=NIMP-02mPvM&index=10&list=PLYqeapOP_CtS0kbdbo_GXFgnS81JGAd8L
Tema: Templete i framework (MVC)
Datum snimanja: 5.5.2016
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. Stipe Predanic
Predavanje iz Dinamičkih web aplikacija, 11. predavanje
Video: https://www.youtube.com/watch?v=0othfQg9AP8&list=PLYqeapOP_CtS0kbdbo_GXFgnS81JGAd8L&index=12
Tema: Izrada web aplikacija za mobilne uređaje
Datum snimanja: 19.5.2016
More Related Content
Similar to GraphQL & Laravel - Efikasni API servisi
Panel diskusija - usporedba Web frameworka (IT Showoff)IT Showoff
Kod izrade web projekta postoje razne mogućnosti odabira frameworka na kojem će se projekt bazirati. Mi smo odlučili izdvojili pet glavnih frameworka te oko njih izgraditi kvalitetnu panel diskusiju.
Vjerujemo da većina developera koji će sudjelovati na IT Showoff konferenciji su barem u jednom trenutku svoje karijere radili web site ili web aplikaciju na nekom od odabranih frameworka. Isto tako, vjerojatnost da su koristili, i temeljito isprobali sve njih, je vrlo mala. Zato nam je cilj putem kompetentnih stručnjaka pokušati publici prenijeti iskustva vezana za pojedine tehnologije, njihova osnovna svojstva, prednosti i mane.
Panelisti su svi od reda pravi majstori svog zanata, te će usporedno proći važna svojstva svakog frameworka i usporediti ga s drugima.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10. Stipe Predanic
Predavanje iz Dinamičkih web aplikacija, 10. predavanje
Video: https://www.youtube.com/watch?v=9Nx_yF9BMOM&index=11&list=PLYqeapOP_CtS0kbdbo_GXFgnS81JGAd8L
Tema: AJAX
Datum snimanja: 12.5.2016
Description and analysis of MEAN stack and underlying technologies (Mongo DB, Express, Angular and Node JS). Review of development tools & techniques. Performance, best practices. Common usage scenarios, pros and cons. How to use it, when to use it, when not to use it.
Auditing of business applications is very important especially in online banking because we are working with monetary transactions. Privredna banka Zagreb had an requirement
to implement a flexible system to audit user activity in our online banking for SME clients especialy since are authorization model was rather complex, for that we decided to use api with Java filters and intereceptors on are web application and for storage system we choosed MongoDB NoSQL database. In this presentation we are going to show you how we did it.
Often, there is a difference of opinion between IT specialists who make business apps with databases in client-server architecture and those who skipped the client-server architecture altogether and began working on web applications. The former usually (but not always) tend to write their code in the database, while the latter consider the database a “black box”, which often serves only as a data container, while the business logic resides in the application server. There are a lot of other questions. The author thinks that specific needs require consideration. It is important to learn and think, and avoid being narrow-minded and accept a single “truth”. These questions will be considered through the Oracle ADF framework.
Nowadays when REST is popping out everywhere and every single API is a REST service, a single mention to RPC seems like a time travel into the past. In the shadows of REST's glory, Google has quietly made and open sourced it's RPC framework (intuitively) called gRPC under the slogan "boilerplate to high-performance scalable APIs". Considering popular names already using it, looks like there's much more to a story than it seems. What's it all about? What's wrong with JSON and REST? And why does HTTP matter?
Excel je jedan od najkorištenijih poslovnih programa danas u svijetu pa ipak mnogi poslovni korisnici koriste samo ograničeni set funkcionalnosti u njemu. To je glavni razlog zbog čega se mnoge radnje rade ručno umjesto korištenjem neke od naprednijih Excel funkcionalnosti koje mogu uštedjeti ogromne količine vremena i u isto vrijeme dati bolje rezultate.
Napredne opcije kao što su Pivot tablice, analiza i napredno filtriranje podatka, bazne i razne ostale funkcije u praksi se vrlo rijetko koriste što korisnicima onemogućava jasan uvid i analizu vlastitih podataka. Zbog toga su isti problemi prisutni i kod vizualizacije podataka u obliku praktičnih i zornih grafova i dijagrama koji mogu puno jasnije dati uvid u podatke.
Cilj ovog seminara jer pomoći postojećim Excel korisnicima da se upoznaju s naprednim opcijama te tako ubrzaju, optimiziraju, adekvatno analiziraju i vizualiziraju svoje podatke u Excelu.
Non-functional testing is an important, but often ignored step in the process of developing applications. Gatling is a tool that enables us to simulate load, performs the associated measurement and presents the results of the performance testing. Why is Gatling detected by the ThoughtWorks radar? Because it is based on Akka, Netty and Scala technologies and so this lecture will show that writing performance scripts don’t have to be boring. With the concept and methodology of performance testing, using Gatling, the author will present personal experiences from previous projects testing the JVM applications.
Gatling - oružje u redovima performansnog testiranjaA. Kranjec
Nefunkcionalno testiranje je bitan, ali često zaboravljen element u procesu razvoju aplikacija. Gatling je alat za simulaciju opterećenja na testiranoj aplikaciji, provodi pripadna mjerenja i prezentira rezultate provedenog performansnog testiranja. Zašto je Gatling primijećen od strane ThoughtWorks radara? Zato što je alat baziran na Akka, Netty i Scala tehnologijama te će predavanje pokazati da pisanje performansnih testova ne mora biti dosadno. Uz koncept i metodologiju performansnog testiranja, korištenjem Gatlinga, autor će iznijeti osobna iskustva sa dosadašnjih projekata testiranja JVM aplikacija. Prezentacija sa konferencije JavaCro'14.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9. Stipe Predanic
Predavanje iz Dinamičkih web aplikacija, 9. predavanje
Video: https://www.youtube.com/watch?v=NIMP-02mPvM&index=10&list=PLYqeapOP_CtS0kbdbo_GXFgnS81JGAd8L
Tema: Templete i framework (MVC)
Datum snimanja: 5.5.2016
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. Stipe Predanic
Predavanje iz Dinamičkih web aplikacija, 11. predavanje
Video: https://www.youtube.com/watch?v=0othfQg9AP8&list=PLYqeapOP_CtS0kbdbo_GXFgnS81JGAd8L&index=12
Tema: Izrada web aplikacija za mobilne uređaje
Datum snimanja: 19.5.2016
Similar to GraphQL & Laravel - Efikasni API servisi (20)
2. designbyheart@gmail.com
O meni
Predrag Jevtic
Full stack developer
- web design / development
(JS, CSS, PHP, MySQL od 2007.)
- mobile development
(ObjC, Swift, React Native od 2010.)
- agile practitioner
(Scrum Master, Agile Coach od 2014.)
3. designbyheart@gmail.com
Nedostaci REST API servisa
• Server mora da usluži i web app i brojne
klijente sa različitim potrebama za podatke
(mobile (iOS, Android), desktop (Linux,
MacOS, Windows), TV apps, Internet of Thing
apps…)
• Primer:
api.com/v1/users
api.com/v1/users/edit/2
api.com/v1/users/new
4. designbyheart@gmail.com
Nedostaci REST API servisa
• Problem konzistentnosti - isti atributi
imaju različite tipove podataka
{
"project": {
"tagline": "A query language for APIs”,
"description": null
}
}
{
"project": {
"tagline": "A query language for APIs”,
"description": ""
}
}
5. designbyheart@gmail.com
Nedostaci REST API servisa
• Server driven selection?
• Overfetching - previše informacija koje stižu
u jednom pozivu (REST poziv za listu
odredjenih elemenata dobija često ceo objekat
sa podacima koji nisu potrebni)
• Underfetching - premalo informacija u jednom
REST pozivu što rezultuje slanjem nekoliko
API poziva (često jednog za drugim -
synchronous). Rezultat: sporije prikazivanje
podataka u UI
6. designbyheart@gmail.com
Šta je GraphQL?
• https://graphql.org
• A query language for your API, by Facebook (ReactJS
conference 2015.)
• Pruža kompletan i razumljiv opis podataka u API-ju
• Daje klijentima moć da traže tačno one podatke koji su im
potrebni ubrzavajući komunikaciju isključivanjem
nepotrebnih setova podataka
• Ubrzava razvoj API-ja tokom vremena, smanjuje
kompleksnost istog (smanjuje potrebu za velikim brojem
različitih API poziva sa relativno sličnim setom
podataka)
7. designbyheart@gmail.com
Šta je GraphQL?
• https://graphql.org
• A query language for your API, by Facebook (ReactJS
conference 2015.)
• Pruža kompletan i razumljiv opis podataka u API-ju
• Daje klijentima moć da traže tačno one podatke koji su im
potrebni ubrzavajući komunikaciju isključivanjem
nepotrebnih setova podataka
• Ubrzava razvoj API-ja tokom vremena, smanjuje
kompleksnost istog (smanjuje potrebu za velikim brojem
različitih API poziva sa relativno sličnim setom
podataka)
8. designbyheart@gmail.com
GraphQL Prednosti
• Definija (schema) sa striktnim tipovima attributa
• Nema over ili underfetching-a (klijent dobija precizan
set podataka koji mu je potreban)
• Omogućava rapidni razvoj aplikacija i povećava
produktivnost FE i mobile timova (front end GraphQL
klijenti omogućavaju keširanje, realtime i optimistic UI
update, GraphQL Faker)
• Kompozicija više GraphQL schema (schema stiching)
• Velika open source zajednica i podrška