{"id":2736,"date":"2019-03-29T09:00:28","date_gmt":"2019-03-29T08:00:28","guid":{"rendered":"https:\/\/wp-test.itcraft.pl\/pl\/?p=2736"},"modified":"2020-03-09T09:57:19","modified_gmt":"2020-03-09T08:57:19","slug":"aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac","status":"publish","type":"post","link":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/","title":{"rendered":"Aplikacja z wykorzystaniem Traccar &#8211; nowoczesnego serwera lokalizacji urz\u0105dze\u0144. Od czego zacz\u0105\u0107?"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n    {\n      \"@context\": \"http:\/\/schema.org\",\n      \"@type\": \"Blog\",\n      \"name\": \"itCraftapps.com - Mobile App Development Blog\",\n      \"url\": \"https:\/\/itcraftapps.com\/pl\/blog\"\n    }\n  <\/script>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"http:\/\/schema.org\",\n  \"@type\": \"Article\",\n  \"mainEntityOfPage\": {\n  \"@type\": \"WebPage\",\n  \"@id\": \"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/\"\n  },\n  \"headline\": \"Aplikacja z wykorzystaniem Traccar\",\n \n    \"image\": [\n{\n\t\n  \"@type\": \"ImageObject\", \n  \"contentUrl\": \"Traccar.jpg\",  \"url\":\"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/03\/Traccar.jpg\",\n  \"description\": \"Aplikacja z wykorzystaniem Traccar \u2013 nowoczesnego serwera lokalizacji urz\u0105dze\u0144. Od czego zacz\u0105\u0107?\",\n  \"name\": \"Aplikacja z wykorzystaniem Traccar \u2013 nowoczesnego serwera lokalizacji urz\u0105dze\u0144. Od czego zacz\u0105\u0107?\"\n\n}\n  \n  ],\n  \n  \"datePublished\": \"2019-03-29\",\n  \"dateModified\": \"2020-03-09\",\n  \"author\": {\n  \"@type\": \"Person\",\n  \"name\": \"Kacper Nitubydz\",\n  \"jobTitle\": \"Java Developerr\",\n  \"description\": \"Java Developer at itCraft\"\n\n  },\n  \"publisher\": {\n  \"@type\": \"Organization\",\n  \"name\": \"itCraftapps.com\",\n  \"logo\": {\n  \"@type\": \"ImageObject\",\n  \"url\": \"https:\/\/wp-test.itcraft.pl\/wp-content\/uploads\/2019\/04\/placeholder-post.png\"\n  },\n  \"description\": \"itCraftapps.com - Mobile App Development\"\n}}\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\">Spis tre\u015bci<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li><span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#1\">Czy warto pisa\u0107 w\u0142asne narz\u0119dzie czy lepiej by\u0142oby wykorzysta\u0107 kt\u00f3ry\u015b z gotowych serwer\u00f3w Open Source?<\/a><\/span><br \/>&#8211; <span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#1a\">A mo\u017ce napiszemy w\u0142asne rozwi\u0105zanie?<\/a><\/span><\/li><li><span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#2\">Jak znale\u017a\u0107 gotowe narz\u0119dzie kt\u00f3re b\u0119dzie odpowiada\u0142o naszym potrzebom?<\/a><\/span><\/li><li><span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#3\">Traccar \u2013 co dok\u0142adnie kryje si\u0119 pod t\u0105 nazw\u0105?<\/a><\/span><\/li><li><span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#4\">A jak to wygl\u0105da od strony technicznej?<\/a><\/span><br \/>&#8211; <span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#4a\">Protoko\u0142y, urz\u0105dzenia GPS, notyfikatory<\/a><\/span><br \/>&#8211; <span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#4b\">Instalator dla Windows, Linux oraz iOS<\/a><\/span><br \/>&#8211; <span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#4c\">REST API i Realtime API<\/a><\/span><\/li><li><span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#5\">Jak serwer sprawdza si\u0119 w praktyce?<\/a><\/span><br \/>&#8211; <span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#5a\">Traccar to przyjazne developerowi oprogramowanie<\/a><\/span><\/li><li><span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#6\">Skoro jest ca\u0142kiem nie\u017ale, to czemu by nie spr\u00f3bowa\u0107?<\/a><\/span><br \/>&#8211; <span style=\"text-decoration: underline;\"><a href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#6a\">Korzystamy z Traccar!<\/a><\/span><\/li><\/ol>\n\n\n\n<p>Rozw\u00f3j technologiczny rozp\u0119dzi\u0142 si\u0119 na dobre. Zapotrzebowanie na funkcjonalne aplikacje ro\u015bnie, a co za tym idzie coraz wi\u0119cej z nich wykorzystuje systemy lokalizacji GPS. Znajduj\u0105 one zastosowanie w du\u017co szerszej gamie aplikacji ni\u017c jeszcze 10-15 lat temu. Mam tu na my\u015bli wszelkiego rodzaju portale spo\u0142eczno\u015bciowe, aplikacje randkowe, czy te\u017c aplikacje pozwalaj\u0105ce na zamawianie us\u0142ug transportu samochodowego. <\/p>\n\n\n\n<p>Ka\u017cda z nich w mniejszym lub wi\u0119kszym stopniu wykorzystuje informacje o pozycjach u\u017cytkownik\u00f3w. Obecnie jest tego naprawd\u0119 sporo. W <a href=\"https:\/\/wp-test.itcraft.pl\/\" target=\"_blank\" aria-label=\"itCraft (otwiera si\u0119 na nowej zak\u0142adce)\" rel=\"noopener noreferrer\">itCraft<\/a>, w ostatnim czasie, r\u00f3wnie\u017c pojawi\u0142 si\u0119 projekt systemu, kt\u00f3ry b\u0119dzie mia\u0142 za zadanie odbieranie informacji o lokalizacjach urz\u0105dze\u0144. Kiedy si\u0119 o tym dowiedzieli\u015bmy, jednym z pierwszych pyta\u0144 na kt\u00f3re postanowili\u015bmy uzyska\u0107 odpowied\u017a by\u0142o:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1\">Czy warto pisa\u0107 w\u0142asne narz\u0119dzie czy lepiej by\u0142oby wykorzysta\u0107 kt\u00f3ry\u015b z gotowych serwer\u00f3w Open Source? <\/h2>\n\n\n\n<p>Chc\u0105c odpowiedzie\u0107 na to pytanie, przeprowadzili\u015bmy szczeg\u00f3\u0142ow\u0105 analiz\u0119 funkcjonalno\u015bci, kt\u00f3rych wymaga nasz projekt oraz spr\u00f3bowali\u015bmy wyodr\u0119bni\u0107 wszystkie za i przeciw dla obu przypadk\u00f3w. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1a\">A mo\u017ce napiszemy w\u0142asne rozwi\u0105zanie?<\/h3>\n\n\n\n<p>Na pierwszy ogie\u0144 poszed\u0142 wariant z napisaniem w\u0142asnego narz\u0119dzia. Bardzo istotnym argumentem, przemawiaj\u0105cym za takim rozwi\u0105zaniem by\u0142o to, \u017ce mieliby\u015bmy pe\u0142n\u0105 kontrol\u0119 nad funkcjonalno\u015bciami serwera. Chodzi tutaj o unikni\u0119cie sytuacji, gdy podczas korzystania z gotowego narz\u0119dzia natkniemy si\u0119 na \u015bcian\u0119, kt\u00f3ra nie pozwoli na zrealizowanie jakie\u015b specyficznej funkcjonalno\u015bci. Minusem by\u0142 natomiast fakt, \u017ce na zaprojektowanie oraz implementacj\u0119 takiego serwera potrzeba sporo czasu oraz pracy wielu os\u00f3b. Warto r\u00f3wnie\u017c doda\u0107, \u017ce aby takie narz\u0119dzie prawid\u0142owo spe\u0142nia\u0142o swoj\u0105 rol\u0119, powinno by\u0107 bardzo dok\u0142adnie przemy\u015blane, a sam kod \u017ar\u00f3d\u0142owy odpowiednio zoptymalizowany oraz na bie\u017c\u0105co wspierany. <\/p>\n\n\n\n<p>To wszystko wi\u0105\u017ce si\u0119 ogromnym nak\u0142adem pracy, a co za tym idzie du\u017cymi kosztami. W wyniku tego kontrargumentu, do ogr\u00f3dka z w\u0142asnym rozwi\u0105zaniem wpad\u0142 mniej wi\u0119cej tej samej wielko\u015bci kamyk co wy\u017cej wspomniany plus. Podj\u0119li\u015bmy wi\u0119c decyzj\u0119, aby sprawdzi\u0107 co tak naprawd\u0119 mamy do dyspozycji, je\u015bli chodzi o gotowe serwery oraz czy kt\u00f3ry\u015b z nich sprosta naszym potrzebom. M\u00f3wi\u0105c kr\u00f3tko, zr\u00f3bmy <em>research<\/em>!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2\">Jak znale\u017a\u0107 gotowe narz\u0119dzie kt\u00f3re b\u0119dzie odpowiada\u0142o naszym potrzebom?<\/h2>\n\n\n\n<p><strong>\t<\/strong>Tutaj, jak zawsze, pomoc\u0105 s\u0142u\u017cy stary, poczciwy wujek Google. Jak si\u0119 okaza\u0142o, w sieci istnieje wiele por\u00f3wna\u0144 oraz opinii na temat najbardziej popularnych serwer\u00f3w lokalizacji GPS. G\u0142\u00f3wnymi kryteriami, kt\u00f3re wyznacza\u0142y kierunek naszego poszukiwania by\u0142y: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>cena &#8211; najlepiej, \u017ceby narz\u0119dzie by\u0142o darmowe,<\/li><li>otwarty dost\u0119p do kodu \u017ar\u00f3d\u0142owego &#8211; Open Source &#8211; by\u0107 mo\u017ce, w miar\u0119 rozwoju projektu, zaistnieje potrzeba modyfikacji pewnych funkcjonalno\u015bci,<\/li><li>zakres funkcjonalno\u015bci, kt\u00f3ry w mo\u017cliwie jak najwi\u0119kszym stopniu b\u0119dzie pokrywa\u0142 nasze zapotrzebowanie,<\/li><li>zale\u017ca\u0142o nam r\u00f3wnie\u017c, aby oprogramowanie by\u0142o na bie\u017c\u0105co wspierane oraz posiada\u0142o dobr\u0105 dokumentacj\u0119 &#8211; to zawsze pomaga w pracy.<\/li><\/ul>\n\n\n\n<p>Podczas naszych poszukiwa\u0144, natkn\u0119li\u015bmy si\u0119 na par\u0119 powtarzaj\u0105cych si\u0119 tytu\u0142\u00f3w, mi\u0119dzy innymi: <em>OpenGTS, Traccar, GPSWOX.<\/em> Szczeg\u00f3ln\u0105 uwag\u0119 zwr\u00f3ci\u0142 na siebie ten drugi, g\u0142\u00f3wnie ze wzgl\u0119du na to, \u017ce jest w pe\u0142ni darmowy, napisany w Javie oraz na bie\u017c\u0105co uaktualniany. Ponadto mia\u0142 bardzo dobre opinie, a sami tw\u00f3rcy obiecuj\u0105 wysok\u0105 wydajno\u015b\u0107 serwera. Brzmi zach\u0119caj\u0105co, wi\u0119c postanowili\u015bmy dowiedzie\u0107 si\u0119 o nim czego\u015b wi\u0119cej. Kolejnym krokiem by\u0142o zapoznanie si\u0119 z narz\u0119dziem oraz zweryfikowanie pokrycia funkcjonalnego z naszymi wymaganiami.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3\">Traccar &#8211; co dok\u0142adnie kryje si\u0119 pod t\u0105 nazw\u0105?<\/h2>\n\n\n\n<p>Zaczn\u0119 od paru og\u00f3lnych informacji. <a href=\"https:\/\/www.traccar.org\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" aria-label=\"Traccar Ltd (otwiera si\u0119 na nowej zak\u0142adce)\">Traccar Ltd<\/a> to tak naprawd\u0119 nazwa sp\u00f3\u0142ki specjalizuj\u0105cej si\u0119 w us\u0142ugach \u015bledzenia urz\u0105dze\u0144 GPS oraz wytwarzaniu oprogramowania. Sama platforma Traccar to ich produkt, kt\u00f3ry zosta\u0142 zaprojektowany oraz zaimplementowany przez ponad 50-cio osobowy zesp\u00f3\u0142 &#8211; w tym pracownik\u00f3w firmy Traccar Ltd oraz zewn\u0119trznych specjalist\u00f3w. A wi\u0119c mo\u017cemy mie\u0107 pewno\u015b\u0107, \u017ce s\u0105 to ludzie, kt\u00f3rzy znaj\u0105 si\u0119 na temacie.<br \/><\/p>\n\n\n\n<p>Id\u0105c dalej, na oficjalnej stronie projektu mo\u017cna znale\u017a\u0107 informacj\u0119, \u017ce platforma Traccar jest wykorzystywana przez tysi\u0105ce firm w ponad 140 krajach na ca\u0142ym \u015bwiecie, co robi spore wra\u017cenie. Serwer znajduje swoje zastosowanie w wielu, r\u00f3\u017cnego rodzaju aplikacjach. Dla przyk\u0142adu s\u0105 to systemu \u015bledz\u0105ce lokalizacj\u0119 pojazd\u00f3w oraz przedstawiaj\u0105ce ich pozycje na mapie, aplikacje pomagaj\u0105ce w znalezieniu najbli\u017cszych punkt\u00f3w POI lub programy obliczaj\u0105ce oraz prezentuj\u0105ce odleg\u0142o\u015b\u0107 pomi\u0119dzy urz\u0105dzeniami mobilnymi. To wszystko sugeruje nam, \u017ce mamy do czynienia z powa\u017cnym projektem, stworzonym przez zesp\u00f3\u0142 specjalist\u00f3w z dziedziny lokalizowania GPS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4\">A jak to wygl\u0105da od strony technicznej?<\/h2>\n\n\n\n<p>Zobaczmy co dok\u0142adnie kryje si\u0119 pod okre\u015bleniem \u201cNowoczesna platforma lokalizacji GPS\u201d. Przede wszystkim oprogramowanie mo\u017cemy podzieli\u0107 na dwa najwa\u017cniejsze modu\u0142y: wieloplatformowy serwer oraz interfejs webowy. Do tego mamy do dyspozycji przyk\u0142adowe aplikacje na systemy Android oraz <a href=\"https:\/\/itcraftapps.com\/pl\/zatrudnij-najlepszych-programistow-ios-do-swojego-projektu\/\">iOS<\/a>. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4a\">Protoko\u0142y, urz\u0105dzenia GPS, notyfikatory<\/h3>\n\n\n\n<p>Serwer obs\u0142uguje ponad 170 protoko\u0142\u00f3w komunikacji oraz wspiera ponad 1500 rodzaj\u00f3w urz\u0105dze\u0144 GPS, pozwala definiowa\u0107 grupy i obszary, a je\u015bli chodzi o powiadomienia to udost\u0119pnia kilka podstawowych notyfikator\u00f3w, opartych na zdarzeniach oraz pozwala wysy\u0142a\u0107 alarmy. Ponadto, przechowuje i udost\u0119pnia raporty na temat historii \u015bledzonych urz\u0105dze\u0144. Warto r\u00f3wnie\u017c wspomnie\u0107, \u017ce jest to narz\u0119dzie na liberalnej licencji Apache License 2.0, pozwalaj\u0105cej na komercyjne wykorzystanie oraz modyfikacje kodu \u017ar\u00f3d\u0142owego. Do tego dokumentacja wygl\u0105da bardzo dobrze. Jak na pocz\u0105tek brzmi ca\u0142kiem fajnie, co dalej?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4b\">Instalator dla Windows, Linux oraz iOS<\/h3>\n\n\n\n<p>Z oficjalnej strony projektu mo\u017cemy pobra\u0107 gotowy instalator. Do dyspozycji mamy wersje na systemy Windows, Linux oraz iOS. W przypadku, gdy chcieliby\u015bmy przystosowa\u0107 nasz serwer do w\u0142asnych potrzeb i wymaga\u0144, mo\u017cemy definiowa\u0107 wiele parametr\u00f3w konfiguracyjnych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4c\">REST API i Realtime API<\/h3>\n\n\n\n<p>Je\u015bli chodzi o kontakt z serwerem to g\u0142\u00f3wnym kana\u0142em komunikacji jest REST API, natomiast w ostatnich wersjach dodano r\u00f3wnie\u017c Realtime API, pozwalaj\u0105ce na odbieranie informacji od serwera w czasie rzeczywistym. Co do autentykacji, mamy dwie opcje do wyboru: ciasteczka lub nag\u0142\u00f3wek HTTP. Dodatkowo, interfejs webowy pozwala na zarz\u0105dzanie wszystkimi funkcjonalno\u015bciami serwera oraz pomaga dobrze zrozumie\u0107 jego dzia\u0142anie. Je\u017celi chodzi o przedstawienie projektu, to by by\u0142o na tyle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5\">Jak serwer sprawdza si\u0119 w praktyce?<\/h2>\n\n\n\n<p>To chyba jedna z najwa\u017cniejszych, je\u015bli nie najwa\u017cniejsza kwestia, kt\u00f3r\u0105 nale\u017ca\u0142o zweryfikowa\u0107, mianowicie jak serwer poradzi sobie z du\u017cym obci\u0105\u017ceniem zapyta\u0144? Autorzy oprogramowania twierdz\u0105, \u017ce zosta\u0142o ono przetestowane na oko\u0142o stu tysi\u0105cach u\u017cytkownik\u00f3w oraz z odpowiedni\u0105 konfiguracj\u0105 sprz\u0119tow\u0105 poradzi sobie z o\u015bmioma tysi\u0105cami zapyta\u0144 na sekund\u0119. Mo\u017cna polega\u0107 tylko i wy\u0142\u0105cznie na ich opinii lecz wyszli\u015bmy z za\u0142o\u017cenia, \u017ce chcemy mie\u0107 pewno\u015b\u0107 i przetestujemy to na w\u0142asn\u0105 r\u0119k\u0119. Napisali\u015bmy zatem test w JMeter. Wymagania naszego klienta by\u0142y du\u017co mniejsze, ni\u017c opisane powy\u017cej &#8211; chodzi\u0142o o oko\u0142o 100 request\u00f3w na sekund\u0119. Po przeprowadzeniu testu okaza\u0142o si\u0119, \u017ce serwer poradzi\u0142 sobie z takim obci\u0105\u017ceniem bardzo dobrze. Poskutkowa\u0142o to kolejnym punktem zdobytym przez tego zawodnika.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5a\">A co z w\u0142asnym protoko\u0142em i notyfikatorem?<\/h3>\n\n\n\n<p>Id\u0105c dalej w las i analizuj\u0105c szczeg\u00f3\u0142owo wymagania klienta, napotkali\u015bmy pewn\u0105 przeszkod\u0119. Okaza\u0142o si\u0119, \u017ce b\u0119dziemy potrzebowali zdefiniowa\u0107 w\u0142asny protok\u00f3\u0142 oraz notyfikator, kt\u00f3ry b\u0119dzie powiadamia\u0142 nasz\u0105 aplikacj\u0119 o zdarzeniach zwi\u0105zanych z opuszczeniem oraz wkroczeniem urz\u0105dzenia do obszaru na mapie. Wed\u0142ug oficjalnej strony projektu, serwer jest zaprojektowany w taki spos\u00f3b, aby mo\u017cna by\u0142o dokona\u0107 tego bez wi\u0119kszej ingerencji w kod \u017ar\u00f3d\u0142owy. Na szcz\u0119\u015bcie j\u0119zyk Java jest bardzo popularny w naszej firmie, wi\u0119c postanowili\u015bmy podj\u0105\u0107 to wyzwanie, co p\u00f3\u017aniej okaza\u0142o si\u0119 s\u0142uszn\u0105 decyzj\u0105. Po kr\u00f3tkim zapoznaniu z kodem, uda\u0142o si\u0119 nam doda\u0107 zar\u00f3wno protok\u00f3\u0142 jak i notyfikator, a przy okazji zaimplementowali\u015bmy w\u0142asn\u0105 metod\u0119 w API. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5b\">Traccar to przyjazne developerowi oprogramowanie<\/h3>\n\n\n\n<p>Wniosek z tego jest taki, \u017ce oprogramowanie jest elastyczne, a praca z nim raczej nie powinna sprawia\u0107 wi\u0119kszych problem\u00f3w. Natomiast zauwa\u017cyli\u015bmy te\u017c pewne funkcje, kt\u00f3re mo\u017cna by nieco ulepszy\u0107. Przede wszystkim, Realtime API, oparte na WebSocket\u2019ach, p\u00f3ki co jest bardzo ubogie i pozwala jedynie na odbieranie nieprzefiltrowanych informacji. Tutaj na pewno istnieje przestrze\u0144 dla rozwoju serwera. <\/p>\n\n\n\n<p>Kolejnym pomys\u0142em, kt\u00f3ry zrodzi\u0142 si\u0119 w naszej firmie jest mo\u017cliwo\u015b\u0107 definiowania nowych protoko\u0142\u00f3w z poziomu interfejsu webowego, tak aby wyeliminowa\u0107 konieczno\u015b\u0107 budowania ca\u0142ego projektu przy ka\u017cdej takiej sytuacji. I na tym chyba ko\u0144cz\u0105 si\u0119 nasze uwagi. Jak wida\u0107, s\u0105 to raczej pomys\u0142y na rozw\u00f3j ni\u017c krytyczne problemy i nie wp\u0142ywaj\u0105 na og\u00f3ln\u0105 opini\u0119 na temat jako\u015bci oprogramowania .<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"6\">Skoro jest ca\u0142kiem nie\u017ale, to czemu by nie spr\u00f3bowa\u0107?<\/h2>\n\n\n\n<p><strong> <\/strong>Po przetestowaniu wydajno\u015bci oraz analizie funkcjonalnej, przyszed\u0142 czas na wyci\u0105gni\u0119cie konkretnych wniosk\u00f3w. Podsumowuj\u0105c nasz research, Traccar jest przemy\u015blanym oraz bardzo wydajnym serwerem, bogatym w u\u017cyteczne funkcjonalno\u015bci, a ewentualne modyfikacje kodu \u017ar\u00f3d\u0142owego s\u0105 wzgl\u0119dnie \u0142atwe. Bogata gama protoko\u0142\u00f3w oraz obs\u0142ugiwanych urz\u0105dze\u0144 pozwala na sprawn\u0105 komunikacj\u0119 u\u017cytkownik\u00f3w z serwerem. Ponadto standardowe, restowe API jest zrozumia\u0142e i \u0142atwe w u\u017cytkowaniu. Bardzo istotnym argumentem podczas podejmowania decyzji czy chcemy wykorzysta\u0107 go w naszej aplikacji by\u0142 fakt, \u017ce narz\u0119dzie jest na bie\u017c\u0105co rozwijane oraz w razie jakichkolwiek problem\u00f3w mo\u017cemy liczy\u0107 na szybk\u0105 pomoc na oficjalnym forum projektu. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6a\">Korzystamy z Traccar!<\/h3>\n\n\n\n<p>Ostatecznie postanowili\u015bmy porzuci\u0107 temat pisania w\u0142asnego serwera i wykorzysta\u0107 w naszej aplikacji oprogramowanie Traccar, kt\u00f3re p\u00f3ki co spisuje si\u0119 bez zarzut\u00f3w. Jest z pewno\u015bci\u0105 jednym z najciekawszych, og\u00f3lnodost\u0119pnych oraz darmowych serwer\u00f3w Open Source, a szeroki zakres funkcjonalny sprawia, \u017ce dobrze sprawdzi si\u0119 we wszelkiego rodzaju nowoczesnych aplikacjach wykorzystuj\u0105cych lokalizowanie urz\u0105dze\u0144 z nadajnikami GPS. <br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8222;image&#8221;: [ { &#8222;@type&#8221;: &#8222;ImageObject&#8221;, &#8222;contentUrl&#8221;: &#8222;Traccar.jpg&#8221;, &#8222;url&#8221;:&#8221;https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/03\/Traccar.jpg&#8221;, &#8222;description&#8221;: &#8222;Aplikacja z wykorzystaniem Traccar \u2013 nowoczesnego serwera lokalizacji urz\u0105dze\u0144. Od czego zacz\u0105\u0107?&#8221;, &#8222;name&#8221;: &#8222;Aplikacja z wykorzystaniem Traccar \u2013 nowoczesnego serwera lokalizacji urz\u0105dze\u0144. Od czego zacz\u0105\u0107?&#8221; } ], &#8222;datePublished&#8221;: &#8222;2019-03-29&#8221;, &#8222;dateModified&#8221;: &#8222;2020-03-09&#8221;, &#8222;author&#8221;: { &#8222;@type&#8221;: &#8222;Person&#8221;, &#8222;name&#8221;: &#8222;Kacper Nitubydz&#8221;, &#8222;jobTitle&#8221;: &#8222;Java Developerr&#8221;, &#8222;description&#8221;: &#8222;Java Developer at itCraft&#8221;&hellip;<\/p>\n","protected":false},"author":1,"featured_media":2737,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[5],"tags":[],"class_list":{"0":"post-2736","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-news"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Aplikacja z wykorzystaniem Traccar \u2013 Od czego zacz\u0105\u0107?<\/title>\n<meta name=\"description\" content=\"Traccar GPS - Czy warto stworzy\u0107 w\u0142asn\u0105 aplikacj\u0119 czy lepiej wykorzysta\u0107 gotowy serwer Open Source.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aplikacja z wykorzystaniem Traccar \u2013 Od czego zacz\u0105\u0107?\" \/>\n<meta property=\"og:description\" content=\"Traccar GPS - Czy warto stworzy\u0107 w\u0142asn\u0105 aplikacj\u0119 czy lepiej wykorzysta\u0107 gotowy serwer Open Source.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/\" \/>\n<meta property=\"og:site_name\" content=\"Aplikacje mobilne i webowe dla firm | itCraft\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-29T08:00:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-09T08:57:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/03\/Traccar.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"911\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Aplikacja z wykorzystaniem Traccar \u2013 Od czego zacz\u0105\u0107?","description":"Traccar GPS - Czy warto stworzy\u0107 w\u0142asn\u0105 aplikacj\u0119 czy lepiej wykorzysta\u0107 gotowy serwer Open Source.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/","og_locale":"pl_PL","og_type":"article","og_title":"Aplikacja z wykorzystaniem Traccar \u2013 Od czego zacz\u0105\u0107?","og_description":"Traccar GPS - Czy warto stworzy\u0107 w\u0142asn\u0105 aplikacj\u0119 czy lepiej wykorzysta\u0107 gotowy serwer Open Source.","og_url":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/","og_site_name":"Aplikacje mobilne i webowe dla firm | itCraft","article_published_time":"2019-03-29T08:00:28+00:00","article_modified_time":"2020-03-09T08:57:19+00:00","og_image":[{"width":1280,"height":911,"url":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/03\/Traccar.jpg","type":"image\/jpeg"}],"author":"root","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/","url":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/","name":"Aplikacja z wykorzystaniem Traccar \u2013 Od czego zacz\u0105\u0107?","isPartOf":{"@id":"https:\/\/itcraftapps.com\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#primaryimage"},"image":{"@id":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#primaryimage"},"thumbnailUrl":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/03\/Traccar.jpg","datePublished":"2019-03-29T08:00:28+00:00","dateModified":"2020-03-09T08:57:19+00:00","author":{"@id":"https:\/\/itcraftapps.com\/pl\/#\/schema\/person\/7f005eebbb23587ebb5e67da80d14679"},"description":"Traccar GPS - Czy warto stworzy\u0107 w\u0142asn\u0105 aplikacj\u0119 czy lepiej wykorzysta\u0107 gotowy serwer Open Source.","breadcrumb":{"@id":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#primaryimage","url":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/03\/Traccar.jpg","contentUrl":"https:\/\/itcraftapps.com\/pl\/wp-content\/uploads\/sites\/5\/2019\/03\/Traccar.jpg","width":1280,"height":911},{"@type":"BreadcrumbList","@id":"https:\/\/itcraftapps.com\/pl\/blog\/aplikacja-z-wykorzystaniem-traccar-nowoczesnego-serwera-lokalizacji-urzadzen-od-czego-zaczac\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/itcraftapps.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Aplikacja z wykorzystaniem Traccar &#8211; nowoczesnego serwera lokalizacji urz\u0105dze\u0144. Od czego zacz\u0105\u0107?"}]},{"@type":"WebSite","@id":"https:\/\/itcraftapps.com\/pl\/#website","url":"https:\/\/itcraftapps.com\/pl\/","name":"Aplikacje mobilne i webowe dla firm | itCraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itcraftapps.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/itcraftapps.com\/pl\/#\/schema\/person\/7f005eebbb23587ebb5e67da80d14679","name":"root","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/itcraftapps.com\/pl\/#\/schema\/person\/image\/","url":"https:\/\/itcraftapps.com\/pl\/wp-content\/litespeed\/avatar\/5\/c28d2298456f70316440c99aa0dc214f.jpg?ver=1775043934","contentUrl":"https:\/\/itcraftapps.com\/pl\/wp-content\/litespeed\/avatar\/5\/c28d2298456f70316440c99aa0dc214f.jpg?ver=1775043934","caption":"root"},"url":"https:\/\/itcraftapps.com\/pl\/blog\/author\/root\/"}]}},"_links":{"self":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/posts\/2736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/comments?post=2736"}],"version-history":[{"count":0,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/posts\/2736\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/media\/2737"}],"wp:attachment":[{"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/media?parent=2736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/categories?post=2736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itcraftapps.com\/pl\/wp-json\/wp\/v2\/tags?post=2736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}