Date post: | 12-May-2015 |
Category: |
Documents |
Upload: | seznamvyvojari |
View: | 561 times |
Download: | 0 times |
Ing. Petr Klimeš, vedoucí týmu vývoje, [email protected]
Ing. Martin Bak, programátor senior, [email protected]
Ing. Lukáš Korba, programátor iOS, [email protected]
Mobilní aplikace
Setkání s vývojáři
www.seznam.cz
Setkání s vývojáři
• Twitter: @seznamvyvojari• URL: http://vyvojari.seznam.cz
@seznamvyvojari
www.seznam.cz
• vyvíjené technologie a jejich použití (SMS brána, ImageSizer, Detekce, WSGIPublisher)
• podpora pro všechny mobilní aplikace (Novinky.cz, Mapy.cz) tzv. Proxy• podpora pro stávají a připravované nové vektorové mapy.cz (práce nad
vektory, kódování, komprimace, bareler)
Podpora mobilním aplikacím
Setkání s vývojáři
Petr Klimeš
Mobilní aplikace Mapy.cz
• 2D vykreslování a návaznost na rastrové mapy• vektory a prostředky k jejich vykreslení – OpenGL ES• 3D pohled na svět (připravované nové Mapy.cz)
www.seznam.cz
Co děláme na backendu (BE)?
Martin Bak
Samostatné systémySMS Brána
Podpůrné službyImageSizerDetekceStatistiky+ Adminweby
Backendy pro aplikaceNovinky.czMapy.cz
PlatformyWSGI PublisherSiteBuilder
JazykyC++PythonJavascript...
Mnoho dalších knihoven..
www.seznam.cz
BE stávající aplikace Mapy.cz
Martin Bak
Především proxy proHledáníPlánování cestStahování dlaždic...
Různé problémyVše v rastruMnoho verzí aplikací / backendů
www.seznam.cz
BE pro vektorové Mapy.cz
Příprava datKreslená ručně => je potřeba mnoho opravÚprava polygonů:
Před: Po:
Martin Bak
www.seznam.cz
BE pro vektorové Mapy.cz
Martin Bak
Příprava datSpojování budov, lesů, bažin, ..Zjednodušování geometrií:
?
0 m 4 m 12 m
A mnoho dalších úprav ...
www.seznam.cz
BE pro vektorové Mapy.cz
Uložení dat - BARELBinární reprezentace oblastiSkládá se ze subbarelů:
hloubka 1 hloubka 4hloubka 3hloubka 2
Martin Bak
www.seznam.cz
BE pro vektorové Mapy.cz
Uložení dat - BARELVíce zoomů v jednom bareluKomprimace dat a kódování vektorů (bod, čára, mnohoúhelník)
l Blokovél Fibonacciho
XML Styly – jak se který vektor vykreslí
0000000 0c1e 2153 9200 002a 224f 3300 001c 14030000010 c700 0017 1bbc 1f00 0015 26d3 5200 00330000020 2fcf eb00 001d 1c64 4900 001e 2761 a0000000030 0019 2779 cd00 001d 31ce 3000 0026 1d550000040 3100 0021 11da 4500 0011 2727 5c00 00150000050 198d 5300 001c 1b68 e500 0016 1381 68000000060 0012 1752 3900 0012 1b5b 2800 001c 1d1d0000070 6800 0013 11f1 8d00 000a 1e99 5f00 001f0000080 157f 8400 0018 144e d700 000f 1378 7e000000090 0016 14ea b900 000f 098c 5a00 0011 1b5c00000a0 2e00 001a 1380 cb00 0018 14e5 ad00 001200000b0 0b5c 8500 000a 0b8c 2a00 001a 145b b20000000c0 0010 2184 b6ca 9835 edf1 074e ac1f 179b00000d0 1c5d 8d83 805c 9941 0870 8557 87be f05200000e0 6060 6060 6060 6060 6060 6060 a0a0 a0a000000f0 a0a0 a0a0 a0a0 a0a0 a0a0 0110 0101 abab0000100 abab 0101 0001 7f00 0000 01de f300 00000000110 001b 1800 0000 06ba 3300 0000 002a 1d00
Martin Bak
www.seznam.cz
OpenGL
Lukáš Korba
OpenGL ES 1.1 – fixní pipeline Nutnost řešit antialiasing
OpenGL ES 2.0 – programovatelná pipeline Multisampling Shadery – verze 1.2, precision
OpenGL Nejobecnější Shadery dle grafické karty
www.seznam.cz
3D
Lukáš Korba
3D hryHW vykreslování (DX)Složité datové struktury (BSP-Tree, k-d tree, …)3D modely, texturyCullingmultiprocesory
Mapy OpenGL ES R-Tree Vektrorová data Viewport vlákna
Analogie k 3D hrám