- [VIRTUAL] Mocking mocking libraries and writing stable UI tests
This virtual meetup will be all about testing! lately there's been discussions around when and if you should use mocking libraries. Niek Haarman will dive into this topic with us, he will be looking at techniques and a particular architecture style that will ramp up your tests and allows you to get rid of your mocks forever. But that's not all! Alex Zhukovic will cover another interesting topic, how to write stable UI tests, share them between local and instrumentation tests and more. Youtube: https://www.youtube.com/watch?v=r-I23nmQMPk Agenda: 18:30 Live stream starts 19:00 Introduction talk by DutchAUG 19:05 Alex Zhukovic: Integrating fast and stable automated tests into your project. 19:45 Break 19:50 Niek Haarman: Mocking mocking libraries After each talk there's room for Q&A Talk 1: Integrating fast and stable automated tests into your project Mobile apps are growing. They become more complex and require more testing. It means that it is time to integrate fast and stable automated tests to your project. In this talk Alex Zhukovic, will cover the following topics: - How to create fast and stable UI tests - How to avoid flaky tests - How to share UI tests between local and instrumentation tests - How DSL can speed up adding stable UI tests to the project Talk 2: Mocking mocking libraries Mocking libraries are super popular with developers. They're useful to define expectations, stub method calls, guarantee a particular order of returns, and probably a lot more. Unfortunately it turns out that tests written with such libraries are actually pretty hard to write, let alone maintain. In this talk Niek Haarman will be looking with us at techniques and a particular architecture style that will ramp up your tests and allows you to get rid of your mocks forever.
- [VIRTUAL] All about Jetpack Compose
Our third virtual meetup will be all about Jetpack Compose. We welcome Alex Zhukovich who composed two talks for us! We'll start the evening with an introductory talk covering the basics. After a short break Alex will continue covering more advanced topics on Jetpack Compose. Youtube: https://www.youtube.com/watch?v=Z7Qs9XYGyCM Agenda: 18:30 Live stream starts 19:00 Introduction talk by DutchAUG 19:15 An introduction to Jetpack Compose 19:30 Break 19:40 Jetpack Compose: layouts routing, theming and testing 20:15 Virtual drinks Talk 1: An introduction to Jetpack Compose Alex will talk us through the basics of what Jetpack Compose is. Have you never worked with it before? Curious about what all the buzz is about? Then this is a nice starter talk of around 15 minutes to get into the topic. Beside the basics Alex will also cover the current problems of the View framework. Talk 2: Jetpack Compose: layouts routing, theming and testing There's a lot to talk about so Alex will continue after a short break and talk about layouts routing, theming testing and more. After each talk there will be room for questions, you can leave them during the stream in the chat and they'll be communicated with the speaker.
- [VIRTUAL] Kotlin Flow: From start to finish!
Another day, another virtual meetup! Since it looks like we'll all be spending a little more time inside we've prepared another interesting evening for you! This time Stefan and Hugo will show you the ropes of Kotlin Flow so you can get up and running faster than ever. We are very excited for this one and hope to see you there! Youtube: https://www.youtube.com/watch?v=opSn7brd14w Agenda: 18:30 Live stream starts 19:00 Introduction talk by DutchAUG 19:15 Stefan Mitev - Going with the flow 19:30 Break 19:40 Hugo Visser - Open the door! Getting into the garage with Android, Coroutines and a bunch of other stuff 20:10 Virtual drinks Stefan Mitev - Going with the flow A light introductory talk about Kotlin flow that aims to inspire you and demonstrate its ease of use Hugo Visser - Open the door! Getting into the garage with Android, Coroutines and a bunch of other stuff The best thing in life is when you can combine something that is useful with something to hack on. So when the decision was made to get a new garage door, a new project was born 😬 In this talk we’ll go over how I made my garage door open from my Android phone, how it automatically opens when I drive up with my motorcycle and how I can open it from my WearOS watch as a bonus too. I’ll talk about the overall design, the hardware, software and the various libraries involved. I’ll point out the mechanisms Android give us to make this all happen, and talk about some pain points. We’ll see how you can use Kotlin Coroutines and Flow to help setting up connections and simplify APIs that make heavy use of callbacks. Finally, there might be a demo too 🤓
- [VIRTUAL] Bluetooth LE challenges & Gradle tips and tricks
UPDATE In light of the developments around the Corona virus we're changing this meetup into a virtual event! Please join us online for two amazing talks by our community members Frank and Eugen. You can join on Thursday evening via this URL: https://zoom.us/j/186546843 We will open the zoom channel at 18:30 to make sure there's plenty enough time to join and chat before the event starts. Agenda: 18:30 Virtual meeting room opens 19:00 Introduction talk by DutchAUG 19:15 Frank - Bluetooth LE challenges on Android 20:00 Break 20:15 Eugen - Gradle tips & tricks to speed up your build 21:00 Virtual drinks Bluetooth LE challenges on Android Frank Bouwens, Android Engineer at Flitsmeister Flitsmeister developed their first hardware device (Flitsmeister One) using Bluetooth Low Energy. Frank will talk us through the challenges they faced with Android. Eugen Martynov, Android Engineer at Yolt, Gradle tips & tricks to speed up your build In this talk Eugen will share how he leveraged Gradle functionality to get a faster build speed. Topics include: - Removing unused dependencies from a multi-module project - Using reflection over code generation for Dagger and Moshi when building locally - How to investigate things that blow up the Gradle cache
- Dynamic Feature Modules & Refactoring legacy code
Join us for an evening with two Android talks from the community. Tonight Backbase will be our host. We'll start the meetup with a talk about Dynamic Feature Modules by Stefan Mitev and end with a talk about refactoring legacy code by Jovche Mitrejchevski. Application of Dynamic Feature Modules, Stefan Mitev - Android Developer @ ING This talk is not a complete how-to tutorial, but more of an insight of DFMs. It will answer questions like: - what are they - why we should care about them - what challenges they impose and how to tackle some of them - what strategies we can follow to roll out existing features to DFMs (and the other way around) Refactoring Legacy Code - Jovche Mitrejchevski - Android Developer @ WeTransfer Very often, we are in a situation when we have to make some changes to code that we are not very comfortable touching. Improving the legacy code is not a trivial task, and it always takes a lot of effort and energy. It's crucial to have a good arsenal of tools available to fight against it and to know how to use those tools properly. In this talk, we will learn how to approach the work we have to do and will check out a bunch of handy tools and techniques to refactor legacy code. Planning: 17:30 doors open 18:00 dinner 18:40 Opening 18:45 Stefan Mitev - Application of Dynamic Feature Modules 19:30 Break 19:45 Jovche Mitrejchevski - Refactoring Legacy Code 20:30 - 21:30 drinks By public transport TRAM 26 - From Amsterdam Centraal Station take tram 26 heading for IJburg. Alight at the Rietlandpark stop (at the Piet Heintunnel). Cross the road and walk under the railway bridge. Follow the curve to the right and 200 metres further you will walk into the parking lot of the INIT building. TRAM 10 – Take tram line 10 (for example from the Leidseplein or Weesperplein squares) heading towards Azartplein and alight at the Eerste Leeghwaterstraat stop. Walk towards the railway and after 200 metres, turn left before the rail embank- ment. You are now going into the parking lot of the INIT building. In both instances you will be walking alongside the building to the main entrance on the other side. Inside the INIT Building Inside the building, you walk to the elevator at your left behind the main reception and take it to the 5th floor.
- New years drinks (Bier en Bitterballen)
As suggested in our active Slack Community, let's get together at Quignon in Utrecht to celebrate the start of another year that will be filled with meetups! The first rounds of drinks will be on us. What can we expect this year? Join us to liven up the discussion. First rounds of drinks will be on us. Want to know more about this Slack community? Join here http://www.dutchaug.org/slack We hope to see a lot of you there!
- Workshop: Test Driven Development @WeTransfer
It's time for our first meetup, or well... workshop of the year! WeTransfer invites us for a workshop about Test Driven Development given by Jovche Mitrejchevski. The workshop will last one full evening divided in parts by short breaks. The doors open at 17:00 and we will start at 18:00, make sure to be there at 18:00. Since this is an experimental event and in order to give enough attention to all attendees we only have limited places. Please make sure, if you RSVP that you block this event in your agenda. What to expect: Getting your hands dirty with basics of TDD - Short feedback loops - Triangulation - Refactoring - Getting a grip of evolutionairy design Working in pairs What do you need for this workshop? - Laptop - Android Studio/IntelliJ Schedule: 17:00 Doors open 18:00 Food and introduction by Jovche 18:15 Start of the workshop 19:00 Break 19:15 Continuation of the workshop 20:00 Break 21:00 End of the workshop 21:30 Doors close How to get there by Public Transit? Go to Metro station “Overamstel”. From there it will be 3 minutes walking. Parking? Depending on the day there might be some free parking spots, and there are plenty of paid parking spots around the office Hope to see you there!
- Building complex screens with Epoxy and how to keep up with the latest tech
Triple is inviting us at their offices in Alkmaar. Hans van der Gragt, technical lead of Triple will talk us through some of their learnings whilst adding new features to existing apps and how to keep apps up-to-date with the latest technologies. Later this evening Sebastian, Android developer at Q42, will talk about how he utilised Epoxy to build a server driven UI app. Epoxy is a library of Airbnb that abstracts a lot of boilerplate to write layouts for RecyclerViews using annotation processing. Planning: 17:30 doors open 18:00 dinner 18:40 intro 18:45 Triple - Our learnings from an ever changing development environment 19:30 break 19:45 Sebastian Q42 - Building complex screens with Epoxy 20:30 - 21:30 drinks Public transport: Train to Alkmaar CS Bus to Alkmaar, Saturnusstraat P+R Stop is right in front of the door Parking: P+R oudorp (free parking) is right in front of the office
- How to be a happy developer and is it time to learn Flutter? @ ANWB
The September meetup will be hosted at the office of ANWB in The Hague! With this time a talk about Flutter by Andras Kurucz and David Broza, engineers at ANWB and a talk about developer happiness by Thijs of Q42. TALK 1: Is it time to learn Flutter? - Andras Kurucz & David Broza Flutter is another cross-platform mobile development framework booming in the market recently. Native App development always proved to be better, but since Flutter apps landed in app stores, there is no way to tell whether they were built with Flutter or natively. What is it that makes Flutter feel so native? Can we replace our Native app with Flutter? At ANWB we support 5 different apps at the moment, all of them are built natively for Android and iOS. Unifying the stack for one or more of those can sound like the dream to increase our productivity. Flutter is still in an early phase, but the new packages are growing rapidly and they are adding support for more and more things. TALK 2: Nerds can make or break a product - Thijs Suijten Have you ever been working on features you don’t believe in? Experienced development teams not aligned with the business? I’ve seen it all... I’ve learnt, we as engineers can make a huge difference in building successful products. Not just by writing code but by stepping over your own bounds and breaking free from your “software developer” label. In this talk I’ll share my insights, so you can make more impact in building successful products and be a happier developer yourself. Planning: 17:30 Doors open 18:00 Food 18:40 Short introduction DutchAUG + ANWB 18:45 Talk 1 19:30 Pauze 19:45 Talk 2 20:30-21:00 Drinks Parking: Free parking is available on the premises
- Stop, Gradle Time!
Another month, another meetup! This time we'll be visiting OpenWeb's office in Nieuwegein (near Utrecht) and learn about your favorite build system: Gradle! TALK 1: Forging a Gradle plugin for Android. Ever wondered how to build a Gradle plugin? Why even consider a Gradle plugin over logic in your build files? What about Android projects and testing the plugin? In this talk we will be casting a basic Gradle plugin, then we grind it to perfection with some more advanced techniques. Let’s get forging! Rolf Smit, Android Developer @ Open Web, currently working for Ahold Delhaize (Albert Heijn app) TALK 2: Fighting incremental times. Let's talk about how to measure your build times, what contributes to the build times, how we can troubleshoot the easy things, how to speed up annotation processing, what is philosophy in the updating build dependencies to the latest and beyond all of these. In this live session, I will take an open-source application and show some simple technics about how to make the incremental build faster. Eugen Martynov @ Yolt Planning: 17:30 Doors open 18:00 Dinner 18:45 Introduction 19:00 Forging a Gradle plugin for Android 19:45 Break 20:00 Fighting incremental times 20:45 Drinks Reaching OpenWeb by public transport: Utrecht Central Train Station From Utrecht Central train station, take bus 74 in the direction of Vianen via Jutphaas. Get off at Poort van Nieuwegein. From here, it's only a short walk to the building. Reaching OpenWeb by car: There is free parking, with lots of place for your car, directly in front of the building. A12 from Den Haag/Arnhem When you're on the A12, at the intersection Oudenrijn, follow the signs A2/E35 to 's-Hertogenbosch. On the highway A2 take exit 9 to N210 Nieuwegein. When you approach the Fletcher Hotel, turn left, and turn left again. You will see the fire departement on your left. When you pass the barriers, you have arrived. A2 from Amsterdam/'s-Hertogenbosch Take exit 9 to Nieuwegein and keep right. If you're coming from Utrecht, turn left as you approach the Fletcher Hotel. Turn left again. You will see the fire departement on your left. When you pass the barriers, you have arrived. Contact us: Send us a message on meetup or find our public slack channel here: http://www.dutchaug.org/slack Location Info: Nevelgaarde 20G, 3436 ZZ Nieuwegein Maps: https://goo.gl/maps/cAnvEyTyWxKu5X3v8