V pátek 17. června vyrazila pětičlenná parta našich mobilních vývojářů na konferenci mDevCamp, pravděpodobně největší setkání mobilních vývojářů a příznivců ve střední Evropě. Šestý ročník této akce, který se konal v prostorách multikina Cinestar v Praze na Černém Mostě, nabídl širokou paletu čítající přes třicet témat, o kterých hovořila řada zajímavých řečníků. Atmosféra letošního mDevCampu byla vynikající a na místě jsme potkali mnoho přátelských lidí, kteří si letošní konferenci užívali stejně dobře jako my.. Rozložením sil se našemu týmu podařilo zúčastnit více než dvaceti přednášek, nasát inspirující atmosféru, spoustu zajímavých informací a příběhů.

A když jsme u nasávání, organizátoři na nás mysleli i v tomto směru ;) Přednášky rozdělené do tři bloků, byly proloženy doprovodným programem. Ten obsahoval nejen boj o jídlo a pití (ne vždy jsme zvítězili), ale i několik zajímavých hraček. Těm vévodily ukázky virtuální reality hned v několika variacích. Vyzkoušeli jsme snad všechny. A praxí přitom ověřili, že úskalím VR je nežádoucí narážení do překážek v okolí. Omlouvejte se pak lidem kolem sebe, že je bijete jen v zápalu hry a opravdu neradi.

Co nás nejvíce zaujalo

Co vývojář, to originál… Každého nás samozřejmě zaujalo (i nezaujalo) něco jiného, proto jsme se rozhodli sepsat naše dojmy nezávisle na sobě.

Martin

Petr Dvořák z Lime mě zaujal informacemi a zkušenostmi z vývoje mobilní aplikace Zingly, která má být mobilním bankovnictvím zastřešujícím více bank. Za zmínku stojí jak opensource autorizační řešení PowerAuth 2.0, které je v rámci vývoje vytvářeno, tak informace o existenci nové legislativy, která bankám předepisuje poskytovat API pro základní přístup k elektronickému bankovnictví.

Pavel Cvetler z LiveSport.cz nás seznámil se systémem, jakým společnost distribuuje i milion notifikací za vteřinu. Nastínil problémy, se kterými se při realizaci tohoto objemu notifikací potkávají a použitými řešeními.

Štěpán Hlůšek z Deliote upozornil na důležitost nezávislého testování UX aplikací při jejím vývoji, rizika pramenící z vynechání UX testů i obtíže, které jsou s jejich prosazováním.

Ze všeho nejvíce mě osobně ale zaujal Lukáš Stibor s projektem Angee. Jedná se o moderní a komplexní formu řešení zabezpečení domácnosti, která zahrnuje jak hardware, tak software. Podělil se s námi o příběh Angee od nápadu, přes zveřejnění a úspěch projektu na Kickstarteru, po stávající fázi prototypové výroby u potenciálních výrobců HW v Číně. Včetně úskalí, která se při realizaci objevila, možná ještě objeví, a výhledu do budoucnosti.

Největším zklamáním pro mě byla přednáška Vojtěcha Mádra o multiplatformním mobilním vývoji prostřednictvím platformy Xamarin. Jednak nebyla příliš dobře připravena, druhak dojmy ze získaných informací jsou přesně opačné než jsem čekal. Na jejich základě zřejmě přehodnotím svůj původně kladný přístup k multiplatformnímu vývoji.

Honza

Na letošní mDevCamp jsem se velmi těšil, neboť se mělo jednat o první vývojářskou konferenci, jíž jsem se měl zúčastnit. Po krátkém bloudění v obchodním centru Černý most se nám podařilo najít multikino, v němž se letošní ročník mDevCampu odehrával. Po klasické a myslím si dobře zorganizované registraci přišla na řadu snídaně, které byla zorganizována snad ještě lépe než samotná registrace. Do úvodních přednášek v tu chvíli zbývala více než hodina, kterou jsme mohli strávit na úvodní keynote, nebo využít toho, že na keynote jsou všichni ostatní a u stánků s doprovodným programem naopak není skoro nikdo. Zvolili jsme to druhé, podívali se do virtuální reality, projeli se na gyroboardu a nabrali jsme suvenýry, čímž pro některé z nás prakticky skončilo shánění vánočních dárků.

Musím přiznat, že přednášky samotné mě spíše zklamaly. Jednou ze světlých výjimek byla hned první přednáška, které jsem se zúčastnil, a to na téma programovací jazyk Kotlin. Musím ocenit zejména formu, kdy na teorii přednesenou v první polovině navázaly v polovině druhé praktické ukázky s příklady toho, jak v Kotlinu řešit různou problematiku, na níž mobilní vývojář dříve či později narazí. Upřímně jsem čekal, že ostatní přednášky budou vedeny stejným způsobem, což se nepotvrdilo.

V další hodině jsem stihl zhlédnout dvě kratší přednášky od lidí ze známých českých firem. Michal Ursiny a Jakub Marek ze Slevomatu mluvili o vývoji slevomtí aplikace pro chytré televize s Android nebo Apple TV, přičemž se zaměřili zejména na odlišnosti obou platforem oproti jejich mobilním sourozencům a zmínili několik problémů, s nimiž se potýkali, a jejich řešení. Vzhledem k nerozšířenosti televizí s těmito OS beru přednášku spíše jako investici do budoucna. Dalším přednášejícím byl Pavel Cvetler z LiveSportu, který mluvil o tom, jak rozesílají miliony notifikací denně. Z jeho přednášky jsem byl zklamaný, protože celé řešení bylo unikátní v serverové nikoli mobilní části, navíc ani serverová část nebyla nijak dobře popsána.

Další přednášku jsem si vybral na poslední chvíli, kdy mě zlákal Eric Rosenberg z Twitteru s přednáškou pojmenovanou “Managing complexity in Twitter for Android”. Čekal jsem, že se řeč bude točit kolem architektury velké mobilní aplikace jako je Twitter for Android, ale Eric mluvil hlavně o tom, jak se popasovali s některými na Androidu běžnými problémy jako např. perzistence objektů, přístup k DB atd. Přednáška nebyla špatná, ale dokud nebudou představené nástroje uvolněny jako volně dostupné knihovny (což by měly být), jsou poznatky z přednášky neuplatnitelné v praxi.

Na poslední blok tří Androidu se týkajících přednášek jsem se přesunul do sálu číslo 6. Jako první mluvil Michal Havryluk z TANGO Software o tom, jak vyvíjet modulární aplikaci. V podstatě se ale jednalo o popis Mavenu, Gradlu, repozitářů… spíše než o nějaké tipy co a jak dělat. I když chápu, co se Michal snažil říct, forma mi nepřišla nejlepší a přednáška mi žádné nové informace nepřinesla.

Předposlední přednášku na téma “Fragments: Highway to hell?” měl Daniel Novák. Přednáška nebyla špatná, nicméně mně osobně nepřinesla žádnou novou informaci, což je asi dáno i tím, že naše aplikace využívají fragmenty ve velkém a s popsanými problémy jsme přišli do styku už tolikrát, že víme, jak je řešit.

Celý letošní mDevCamp ve mně zanechal rozporuplné pocity. Upřímně jsem čekal, že se dozvím o mnoho víc, než jsem se dozvěděl. V příštích ročnících, pokud se jich budu účastnit, zkusím vybírat jiný druh přednášek. Zatímco letos jsem upřednostňoval čistě programátorská témata, příště se budu řídit spíše podle spíkrů, společností, v nichž pracují, a zvolím spíše obecná témata.

Michal

Na projektu Zingly, který vede Petr Dvořák ze společnosti Lime, mne asi nejvíce zaujalo, že se vše bude uvolňovat jako open-source. Petr Dvořák vyvolal bouřlivý potlesk, když zmínil, že nezná jedinou multiplatformní aplikaci, která by byla úspěšná. Oni sami začínají ve Swiftu 2.0 a Android vydají až později. Vystupují jako 3rd party a jako většina 3rd party projektů musí bojovat o důvěryhodnost. Vůči bankám se snaží zaujmout pozitivní roli, kdy žádná data neuvidí, ani nebudou ukládat (mezi další role se řadí “no-role”, kdy se knihovny nestarají o nic zásadního nebo negativní role, kdy si hromadí data, apod.).

Dále jsem měl tu čest se seznámit s projektem Slevomat TV, který je chystán pro Android i Apple TV, kde nám byla popsána různá úskalí vývoje pro tyto platformy a jaké fragmenty se využívají, které knihovny je poskytují a jiné zajímavé informace o tom, s čím se během vývoje potýkali. Pavel Cvetler ze společnosti Livesport popisoval, jakým způsobem rozesílá kolem 150 milionů notifikací denně do Android/iOS zařízení. Jejich rekord byl přibližně 1,25 milionu notifikací za vteřinu, což vyvolalo diskuzi a velký zájem. Cyril Mottier vykládal o tom, jak bychom měli uživatele zaujmout již při samotném startu aplikace a jak docílit plynulého přechodu do plně načtené aplikace. Velmi mne zaujala i přednáška o stavbě robota s využitím Arduina a RaspberryPI. Celá konference ve mne zanechala pozitivní dojem.

Tom

Na mDevCampu jsem byl letos poprvé. Hned po příchodu na nás čekalo občerstvení a doprovodný program v podobě virtuální reality a gyroboardu. Obojí mě velmi zaujalo a neváhal jsem si to hned vyzkoušet. Z nadšení jsem skoro až zapomněl na začátek první přednášky. Z celého dne mě asi nejvíce zaujaly hned první dvě přednášky, na kterých jsem byl – o programovacím jazyce Kotlin od společnosti JetBrains a přednáška s názvem Engineering with Flow.

Jazyk Kotlin mi velmi připomíná Swift od Applu. Nabízí moderní přístup k programování a při jeho dobré znalosti se s ním pracuje i lépe než s Javou. Nevýhoda nových programovacích jazyků je množství dostupných informací, volně přístupných projektů a všeobecná neznalost jazyka mezi vývojáři. To se bohužel týká i Kotlinu. Na druhou stranu má tento jazyk velký potenciál a každým dnem větší a větší popularitu.

Druhou přednášku měl Carter Jernigan, který stojí za úspěšnou Android aplikací Locale. Svoji řeč měl dobře připravenou a celý projev působil profesionálně. Mluvil o začátcích vývoje, jaké problémy ho doprovázely a jak je řešil. Zaujala mě myšlenka “watch instead of listening”. Carter mluvil o případech, kdy ho uživatelé žádali o nové funkce, ale nakonec je nepoužívali. Říkal, “lepší je koukat, co lidé dělají, než implemetovat funkce, o které žádají”. Líbila se mi také možnost vzdáleného vypnutí nových funkcí, u kterých se objevila nějaká závada.

Přednáška, na kterou jsem se asi nejvíc těšil, mě zároveň nejvíc zklamala – Xamarin od Vojtěcha Mádra. Nebyla dobře připravená a přednášející nevěděl, kterou aplikaci spustit. Z toho co zaznělo, mě multiplatformní vývoj moc nepřesvědčil. Na mojí poslední přednášce o reaktivním programování jsem skoro až usínal. Mimo těchto dvou přednášek ale hodnotím mDevCamp kladně a byla to pro mě dobrá zkušenost. Pokud se na mDevCamp dostanu i příští rok, budu upřednostňovat spíše osobní příběhy lidí z vývoje zajímavých a úspěšných projektů, které mohou motivovat.

Jirka

mDevCamp 2016 pro mě byla již 3. konference, které jsem se zúčastnil v posledních letech, takže jsem na ni jel natěšen a s určitými očekáváními. Registrace byla rychlá a bezproblémová a ranní snídaně chutná. Přijeli jsme včas, takže jsme měli možnost si jako první návštěvníci konference vyzkoušet několik doprovodných programů bez front – VR realita, vozítko, složení Rubikovy kostky, atp.

První naplánovaná přednáška začala v 10 hod. s tématem Zingly, or how to design multi-banking app od Petra Dvořáka, Lime. Povídání o otevřených bankovních API z důvodu nové evropské legislativy bylo velmi zajímavé a poučné. Jednalo se o návrh multi-bankovní aplikace, která dokáže přistupovat k více bankovním účtům současně. Dozvěděli jsme se něco o návrhu EU, mobilní aplikaci Zingly a serverové části pro autentizaci klientů. Já bych zhodnotil tuto přednášku jako nejvíce přínosnou pro moji aktuální práci a pozici.

Poté v 11:00 jsem se přesunul na přednášku Carter Jernigan ohledně ????? = ? or Engineering with Flow. Téma se věnovalo pomocným praktikám pro programátory, tak aby se jim pracovalo dobře a výkonně. Řečník podával přednášku sympatickým pohledem, bohužel někdy do toho přidával až moc metafor, takže posluchač rozkryl myšlenku až na konci jeho přednášky. I tak musím říci, že je dobré se zamyslet nad poučkami, které přednášející zmínil. Jediné zklamání bylo, že jeho aplikace Locale je sice užitečná (vypínání funkcí telefonu na základě polohy telefonu – práce, domov, spánek), každopádně GUI vypadá jak z dob Androidu 2.x – 3.x, takže nijak atraktivní pro aktuální použití.

Následně byl čas oběda, který byl výtečný, i když si na něj člověk musel pěkně počkat. ;-)

Po jídle jsem se rozhodl zajít na přednášku slovenského programátora Honzy Ilavského, Hyperbolic Magnetism ohledně (Not)easy path of solo indie game developer. Jednalo se o popis začátků, vývoje, problémů s copyright a publikací jeho nejúspěšnější hry Chameleon Run, která vyhrála tentýž měsíc prestižní ocenění Apple Design Award 2016. Byl to obrovský úspěch, jelikož hra vydělává denně několik tisíc dolarů a má již přes milión stažení. Přednáška začala ohledně problematiky OpenGL, pokračovala k vývoji her pro Apple Store v Unity engine a končila publikací přes kanadského vydavatele a komunikací s Apple teamem. Musím uznat, že mě velice zaujala a dodala velký „drive“ k dalšímu rozvoji, protože úspěch byl fenomenální.

Ve 14 hod. jsem si byl poslechnout téma Firebase + Kotlin + RxJava – practical tips od Davida Vávry, Step Up Labs. Ať jsem se na tuto přednášku hodně těšil, musím říci, že monotónní vyprávění o Firebase mě hodně nudilo. Řečník povídal sice o možnostech této technologie, ale z pohledu nabízených služeb a novinek, tzn. že zmínil spíše výčet technologií, jenž můžeme s Firebase použít. Raději bych si poslechl nějaké užitečné praktické ukázky, výtvory, aplikace jeho společnosti a shrnutí možnosti použití Firebase. Sice bylo vysvětleno několik praktických tipů, ale jednalo se spíše o odtržené kusy zdrojového kódu bez hlubší myšlenky pro zaujaté posluchače.

Poté jsem se přesunul na téma Modular Android app od Michala Havryluka, TANGO Software. Přednáška se spíše než návrhu modulární aplikace (MVC, MVVM, atd.) věnovala knihovnám, repositáři a Gradle. Jednalo se o shrnutí, jak programovat aplikace tak, abychom znovupoužívali stejný kód na různých projektech. To v MoroSystems funguje dobře, a tak jsem si spíše jen zopakoval informace a ujasnil si, jak to funguje v Gradle buildovacím nástroji. Bylo to svižné a dobře shrnuté.

Předposlední přednáška Fragments: Highway to hell? od Daniela Nováka se věnovala fragmentům. Popisoval různé způsoby, kdy a kde je použít, jaké jsou s nimi problémy a způsoby, jak s nimi pracovat. Téma analyzovalo fragmenty dosti hluboce a byly probrány i různé ukázky práce s fragmenty a nejčastějšími „crashes“. Jelikož mě fragmenty dost zajímaly, dost jsem se těšil na přednášku. Spíš než deep-dive zasvěcení bych byl spíše za praktické tipy a ukázky správné práce s fragmenty a screenshoty a návrhy jednotlivých layoutů.

Na závěr jsem se zúčastnil přednášky Reactive programming on Android od Tomáše Krypty, Avast, která se týkala práce s RxJava na Androidu. Musím říci, že touto prezentací jsem byl velice zklamán, protože nám Tomáš neukázal nic než dokumentaci RxJava a seznam metod, které lze použít. Z toho důvodu jsem raději chtěl využít čas lépe a přešel jsem na pro mě neznámé Digit & czPodcast LIVE!. Zaujalo mě to, protože už nějaký čas si chci v autě pustit nějaký podcast, ale nikdy jsem se k tomu nedostal. Když jsem přišel, tak „čtyři kluci z IT“ se tam bavili na téma bitcoin. Virtuální měna je dobré téma, ale bohužel už končili.


Letošní mDevCamp jsme si náležitě užili a příští rok se určitě rádi zúčastníme znovu. Každému z nás přinesla konference něco nového a už se těšíme, jaká témata přinese ročník příští.

Záznamy všech přednášek jsou dostupné přes oficiální kanál mDevCampu na slideslive.com. Sami se tedy můžete přesvědčit, které přednášky stálo za to navštívit a jaká skvělá atmosféra na mDevCampu panovala. Naše fotky z akce najdete na naší facebookové stránce.


Konferencí na domácí i zahraniční půdě se účastníme pravidelně a neustále se tak snažíme vzdělávat a zdokonalovat. Přidej se k nám do týmu a pojď se zdokonalovat s námi! Všechny námi obsazované pozice najdeš na naší kariérní stránce.

Share on Facebook5Share on Google+0Tweet about this on TwitterShare on LinkedIn15Email this to someone