Hvers vegna MapConductor
Kóði sem sýnir kort er venjulega soðinn fastur við eitt korta-SDK. Þegar kemur að því að færa sig er endurskriftin ekki bundin við kortið — hún teygir sig inn í rökvísi skjásins. MapConductor skiptir þeirri festingu út fyrir eitt sameiginlegt API.
01 · Vandinn
Verð og samningar hreyfast
Gjaldskrár korta-API-a breytast. Þú vilt færa þig, og það er þinn eigin kóði sem stöðvar þig.
Sami eiginleikinn, skrifaður þrisvar
Ólíkt korta-SDK á Android, iOS og vefnum þýðir að merki haga sér ólíkt og tölur myndavélarinnar merkja sitt hvað. Hver umræða um kröfur fer fram þrisvar.
Tölurnar stemma ekki
Hvað aðdráttur 14 sýnir, og hve langt er milli tveggja punkta, rekur milli umhverfa þegar reitt er á hjálparföll hvers SDK. Gæðaeftirlitið endar á að úrskurða hvor talan sé rétt.
Magnið brýtur það
Fram yfir nokkur þúsund merki fer myndavélin að hökta í einfaldri útfærslu. Lausnin er ólík eftir þjónustuaðilum, og hver þeirra er enn ein endurskriftin.
02 · Það sem MapConductor gerir
Forritið þitt reiðir sig aðeins á sameinaða API-ið. Reklarnir jafna muninn milli þjónustuaðila, og skiptin verða að því einu að skipta um eitt viðfang og eina sýnargerð.
Sameiginleg hnit og staða
GeoPoint, MarkerState og MapCameraPosition merkja það sama og heita því sama á öllum þremur vettvöngunum. Engar gerðir þjónustuaðila leka í gegn.
Aðdráttur og fjarlægð stemma
Aðdrátturinn er staðlaður á einn kvarða, og fjarlægð, stefna og flatarmál koma úr útfærslu SDK-sins sjálfs. Sama inntak gefur sömu tölur hjá hverjum þjónustuaðila.
Réttu bara stöðuna
Réttu fylkið af því sem á að vera til núna; Core ber það saman við síðasta skipti og beitir aðeins því sem breyttist. Þú heldur aldrei sjálf/ur utan um viðbætur, uppfærslur og eyðingar.
Magnið er leyst inni í SDK-inu
Fram yfir 2.000 merki skiptir innri teiknivélin sjálf yfir í rasterflísar. Myndavélin helst lipur við tugþúsundir og ekki ein lína af kóðanum þínum breytist. Þröskuldurinn er valkostur á kortasýninni ef þú vilt annan.
03 · Ekki bara þunnar umbúðir
Umbúðir sem gera ekkert nema að framsenda á hvert SDK enda takmarkaðar af því SDK sem getur minnst. MapConductor teiknar það sem vantar sjálft, svo útlit og hegðun haldast þegar skipt er um þjónustuaðila.
04 · Hvað teymið græðir
Að setja eitt sameiginlegt API í miðjuna breytir því hvers konar kóða þú getur skrifað. Kóði án nokkurs korta-SDK-heitis lifir af skipti um þjónustuaðila og flutning á annan vettvang.
Eitt API að læra
Hvert korta-SDK nefnir hlutina á sinn hátt, svo hver skipti um þjónustuaðila og hver flutningur á annan vettvang þýðir að læra þá upp á nýtt. Með MapConductor er eitt API sem ber sömu heiti og sömu merkingar á Android, iOS og React. Það sem einhver lærir á einum vettvangi gildir á þeim næsta, og innvígsla nýliða vex ekki með fjölda þjónustuaðila.
Kóði sem skuldar engu korta-SDK neitt
GeoPoint og MarkerState tilheyra engu korta-SDK. Að byggja leið, prófa hvort punktur falli innan svæðis, ákveða hvað skuli sýna — þá rökvísi má skrifa án þess að ein einasta SDK-gerð komi við sögu, svo skipti um þjónustuaðila eru engin endurskrift. Sameiginlegar kortaeiningar má draga út í safn í stað þess að smíða eina á hvern þjónustuaðila.
05 · Séð frá gagnahliðinni
Allt hér að ofan er skrifað frá hlið forritsins. Það sem MapConductor sækist eftir er ekki aðeins frelsi frá framleiðandalæsingu, heldur frelsi til að ákveða á hvaða framleiðanda þú hallar þér óháð því með hvaða korta-SDK þú teiknar.
Það endar yfirleitt á viðskiptalegu SDK
Nema allur stakkurinn sé opinn endar raunnotkun á einhverju viðskiptalegu korta-SDK. Samningar og innkaup skilja stundum eftir nákvæmlega einn kost. Tilgangur MapConductor er að þurfa ekki að henda því sem þú átt þegar svo ber undir.
Gögnin aðskilin frá SDK-inu sem teiknaði þau
Kortagögn, staðsetningarleit og flísar hafa fylgt SDK-i þess framleiðanda sem lætur þau í té. Aðskildu þetta tvennt og efni sem safnast hefur upp í, segjum, ArcGIS má nýta á korti sem eitthvað annað teiknaði.
Aðeins staðsetningarleit, aðeins gögn
Þjónustuaðili sem býður staðsetningarleit, eða eitt gagnasafn, og ekkert eigið korta-SDK hefur átt fáa staði til að nýtast. Skildu framsetninguna frá gögnunum og hann getur setið ofan á hvaða korti sem er.
06 · Séð frá korta-SDK-framleiðanda
Sameiginlegt lag getur, frá hlið korta-SDK-framleiðanda, litið út eins og eitthvað sem þynnir hann út. Þannig er MapConductor ekki byggt. Aðeins sá hluti sem hver þjónustuaðili hefur þegar er sameinaður; það sem hver framleiðandi er góður í er áfram aðgengilegt.
Viðskiptavinir að utan
Þegar hægt er að stýra mörgum þjónustuaðilum á sama hátt verða forrit sem byggð eru á SDK annarra allt í einu innan seilingar. Lægri skiptikostnaður sker í báðar áttir — hann losar líka takið á þeim viðskiptavinum sem þú átt — en það sem eftir stendur sem ástæða til að vera valinn er verð, þekja og hversu vel þú teiknar, fremur en kostnaðurinn við að fara.
Sérstaðan þín er áfram sýnileg
Það sem er sameinað er sá hluti sem hver þjónustuaðili hefur þegar. Kall á getMapViewHolder() á stöðuhlutnum réttir þér innbyggðu kortasýnina og kortatilvikið, svo allt sem aðeins þitt SDK býður er skrifað gegn þínu eigin API. Umbúðir sem fælu allt myndu má út það sem greinir þjónustuaðila að; þessar gera það ekki.
Samkeppni á sameiginlegum grunni
Eftir að HTML5 festi hvað vafrar yrðu að útfæra hættu þeir að keppa um samhæfni og fóru að keppa um hraða og getu. Korta-SDK eru engin undantekning: með sameiginlegt viðmót á sínum stað verður spurningin hversu hratt, hversu nákvæmlega og hversu víða þú getur teiknað. Sameiginlegt lag er ekki hemill á einstök SDK — það beinir framförum þeirra í sömu átt.
07 · Hvenær það passar og hvenær ekki
- Ein kortaupplifun á fleiri en einum vettvangi
- Að halda möguleikanum á að skipta um þjónustuaðila síðar
- Merki, form og myndavélarvinna sem kjarni eiginleikans
- Þúsundir upp í tugþúsundir merkja
- Fjarlægðir og flatarmál sem verða að stemma alls staðar
- Sýningargripur bundinn einum þjónustuaðila — sérsmíðaðir skyggjar, lag sem einn framleiðandi á
- Beygju-fyrir-beygju leiðsögn og aðrir eiginleikar sem eru sjálf söluvara SDK-sins
- Einn vettvangur, einn þjónustuaðili, og enginn ásetningur um að breyta því
Blöndun er samt möguleg: innbyggða kortatilvikið er alltaf innan seilingar, svo óvenjulegu hlutana má skrifa beint gegn þjónustuaðilanum.