Meetup

GDG Montreal > Meetup

February MeetUp – Online

2021-02-16 |by droidmtl | 0 Comments | Events, Meetup

Thursday, February 25th, 2021

For this event, we will be using remo  https://live.remo.co/e/gdg-montreal-february-meetup

 

Schedule:

  • 18:20 Welcome!
  • 18:30 The D-KMP Architecture: Declarative UIs + Kotlin MultiPlatform + MVI pattern by Daniele Baroncelli
  • 19:15 Break (time to get another coffee / beer / etc.)
  • 19:30 Custom Lint Rules by Boris Dubois

 

The D-KMP Architecture: Declarative UIs + Kotlin MultiPlatform + MVI pattern

by Daniele Baroncelli

Year 2020 has not only been the year of the pandemic, but also the year which set the division between “The Past” and “The Future” in apps development. With JetpackCompose and Kotlin MultiPlatform reaching “Alpha” stage in August 2020, The Future will already start in 2021, the year where both technologies will reach “Stable” stage.

The Future is a clean cut from the The Past, as “MultiPlatform” will become the preferred choice. We will see many platform-specific technologies (LiveData, RxJava, Dagger, Retrofit, Room, etc.) losing their centrality, replaced by KMP technologies such as StateFlow, Coroutines, Ktor, Serialization, SqlDelight, etc.

In this talk I will present the D-KMP architecture which is based on the 3 pillars:
– DeclarativeUIs (JetpackCompose on Android, SwiftUI on iOS, Kotlin/React on Web)
– Kotlin MultiPlatform (KMP)
– MVI pattern.

Bio

I am a mobile architect (client/server), with over 10 years experience. I started Android development in 2009 and iOS development in 2015. I am also one of the early Golang adopters, starting in 2013.

I have architected the highest-rated travel app in Europe (called Trenìt!), which has 4.8 stars on both Android and iOS, out of over 110,000 reviews.

I have historically focused on “thin” client architectures, with most logic residing on the webservices. I am now envisioning a future of “rich” client architectures, thanks to declarative UIs and Kotlin MultiPlatform.

Custom Lint Rules

by Boris Dubois, Transit

Custom lint rules or how to enforce your code style to your coworkers without them knowing 🙂

 

KEEP READING

DevFest Montreal 2020

2020-11-11 |by Laurence de Villers | 0 Comments | Events, Meetup

Wednesday, November 25th, 2020

Fo our event, we are using remo  https://live.remo.co/e/devfest-montreal-2020

 

DevFest is a global, community-led event series offering speaker sessions across multiple products and areas of technologies, hack-a-thons, codelabs, and more!

Join us on November 25th to talk about

  • Stately and Composed
  • State Management with MobX, it just works
  • And more!

We will be using remo.co as a platform to allow smaller breakout sessions and ease discussions between us all before and after the talks. Presentations will be shorter in time to allow for more questions in the split groups. So come prepared with your questions and we will do our best to answer all of them.

Please join us here : https://live.remo.co/e/devfest-montreal-2020

Stately and Composed

Level: Intermediate
Language: English

by Etienne Caron

Libraries like RxJava, LiveData and Flow have made it easy to build, observe and react to data streams. But the story sours when you try to consume those streams with a static, XML-backed UI.

Jetpack Compose is the missing puzzle piece. We’ll soon have an excellent first-party solution that will make it easy to build reactive UIs with dynamic data streams.

In this session, we will explore how Jetpack Compose empowers us to push the envelope of UI and UX interactions. We’ll learn about State management, Unidirectional Data Flow, and how Jetpack Compose keeps things efficient while reacting to changes in your application State.

Bio

Etienne Caron is part of Google’s Developer Expert program, an instructor for Caster.io, and a freelance software development consultant.

Etienne has been an active member of the Android developer community in Montreal since 2010 and regularly devotes his time to mentoring startups, developers and students in the mobile space.

https://twitter.com/kanawish

 

State Management with MobX, it just works

by Joshua maiquez de guzman

In this talk, I will cover MobX’s core principles and its practical usage. With the examples, you’ll see how intuitive and declarative MobX is when using it for your Flutter applications. Lastly, I will also share our team’s experience building an app for a startup, using MobX as its core state management tool.

Bio

Joshua is a software engineer with a passion for learning and teaching. He is a Google Developer Expert for Flutter and Dart and a Software Engineer for Betterbank, a fintech startup based in Brooklyn, New York.

Life outside work, Joshua enjoys engaging with the community through meetups, conferences, writing articles. He also enjoys reading books, solving the Rubik’s cube and recently, have been enjoying playing Among Us with friends!

https://twitter.com/joshuamdeguzman
https://www.linkedin.com/in/joshuadeguzman/

KEEP READING

GDG Monctorontreal!

2020-09-15 |by droidmtl | 0 Comments | Meetup

Wednesday, September 23rd, 2020

We’re teaming up with GDG Moncton and GDG Montreal for virtual Android talks by speakers from across the east coast, join us in welcoming Phil Shadlyn and our very own Samuel Dionne for two outstanding talks on the latest Android tech!

The event will be hosted on Remo here:
https://live.remo.co/e/gdg-monctorontreal

To check if your computer is ready for participation, please run the Remo System Check: https://remo.co/mic-cam-test/

Join us on September 23rd to talk about

  • Kotlin Contracts
  • Dagger and Hilt
  • and Web Components.

 

What’s the Deal with Kotlin Contracts?

by Phil Shadlyn

Are you tired of arguing with the Kotlin compiler when it insists on telling you a value could be null, even though you know it won’t be? Me too. Enter Kotlin Contracts, a new feature that allows us to better inform the compiler of our code’s behaviour, so it can make better decisions and allow us to write more concise, readable code. Join us and we’ll talk about: – Why we should be interested in Kotlin Contracts, and what problems they solve for us; – How to use contracts in your code; – Where are contracts are currently being used in the Kotlin standard library; – How far you can go with them, and what limitations they have.

Using a dagger is safer from the hilt

by Samuel Dionne

Using a dagger is safer from the hilt We know by now that we should be using dependency injection in our projects, but Dagger is still really hard to master and painful to setup. The Android team decided to give us a handle so we don’t cut ourselves too badly. We’ll cover the following: – 10 thousand feet overview of dependency injection – Why use Hilt over Dagger – New tools in Android Studio 4.1 – What happened when we migrated Transit App from Dagger to Hilt.

uilding the Modern Web with Web Components

by Simon Gauvin

The browser technology behind the web has come a long way since the days of hyperlinks and HTML. Referred today as the “web platform” developers now have a rich set of tools to build enterprise-grade applications for both desktop and mobile. The promise of “write once run anywhere” has moved closer to reality with the ability of developers to dynamically define their own HTML tags. Combined with CSS styling and JavaScript code Web Components completes the missing parts of the browser to allow for true component-based development of applications. In this talk we will explain what a Web Component is, how it is used to build everything from a button to an app, and review modern tooling and UX libraries allowing you to build your next multi-platform project.

KEEP READING

Android 11 Meetup

2020-07-02 |by Laurence de Villers | 0 Comments | Meetup | ,

Wednesday, July 15th, 2020

For our event, we are using remo.co

Join here: https://live.remo.co/e/android-11-meetups

Android 11 is just around the corner and we are excited to share with you all that we learned so far while testing some of the new features and API.

Join us on July 15th to talk about

  • IME animations
  • MotionLayout and editor
  • New development tools.

We will be trying out a new tool for this meetup to allow for smaller breakout sessions and ease discussions between us all before and after the talks. Presentations will be shorter in time to allow for more questions in the split groups. So come prepared with your questions and we will do our best to answer all of them.

Android development tools

by Prachi Durge

In this talk we will walk through some new features of Android studio 4.1/4.2 .

Bio

Prachi is an Android app developer with more than 6 years of experience.

Also has worked with cross platform technologies like Titanium, phonegap and Flutter.

She is a WTM Ambassador with GDG Baroda. She enjoys Community work and networking.

IME Animations

by Harman Bhutani

In this talk we will talk about IME Animations introduced in Android 11. It is a new set of APIs which let’s you synchronize your app’s content with the IME (input method editor, aka soft keyboard) and system bars as they animate on/off screen, making it much easier to create natural, and intuitive IME transitions.

Bio

Harman is an AI Enthusiast and Machine Learning Engineer by Profession. Currently working as a Data Scientist , also pursuing Masters in Data Science from the University of Ottawa. Before that, He worked with some of the companies such as Accenture, Google, and T-Mobile, Hum-Hain, and did his own startup during his bachelor’s as well – Techorion.

PS: My favorite food is a circle cut into triangles warped in a square i.e. pizza.

Animate views with MotionLayout

by Nav Singh

  • In this talk we will cover how Motion Layout helps us to create beautiful animations.
  • We will also cover How to use Motion Layout Editor to create/modify animations. Which is introduced in Android Studio 4.0

Requirements : ConstraintLayout version 2.0/higher and Android Studio 4.0/higher

Bio

Nav is a professional Android developer at Manuvie. He is also writing technical articles related to Android/iOS at Medium.

During his free time he loves to watch Netflix, reading books, and playing with new technologies/frameworks, etc.

KEEP READING

May MeetUp – Online

2020-05-16 |by droidmtl | 0 Comments | Meetup

Wednesday, May 27th, 2020

The meetup will be held online!

What is Google Meet? How to Use Zoom Rival as Video Chat Service ...

Join here : https://meet.google.com/xqv-dhwh-hyv

 

Schedule:

  • 18:20 Welcome!
  • 18:30 Don’t Forget to Test Your Flutter Code par Boris-Wilfried Nyasse 🇫🇷
  • 19:15 Break (time to get another coffee / beer / etc.)
  • 19:30 Design Thinking, how to make better apps quickly by François Légaré

 

Don’t Forget to Test Your Flutter Code

NB : 🇫🇷 this talk will be in French 🇫🇷

par Boris-Wilfried Nyasse

Testing is one of the most important phases of app development. You can’t build a high-quality app without testing it. The testing process requires precise planning and execution, but it’s also the most time-consuming part of development.

The Flutter framework provides comprehensive support for Flutter automated testing. Although Flutter is gaining traction, it can easily obscure the beauty of the Dart platform and the way developers can easily test their code.

In this session, we will look at how to build and automate your Flutter app testing.

Bio

Currently working as VP of Engineering for Stack Labs Canada (a consulting company
specialized in architecture and development of cloud solution),

I am a passionate Developer & Cloud/DevOps Architect, and above all passionate about tech, languages, infrastructure, and automation. I enjoy my journey to work with customer Technical leads, client executives and partners to manage and deliver successful migrations to Google Cloud solutions.

I enjoy my journey to ensure that the engineering trains run on time by creating an ideal environment for passionate people. My goal is just to inspire others to continuously improve and raise their standards at all levels of the team : follow best practices of software development. From the code analysis, testing and CI/CD knowledge.

Former founder and co-organizer of the Flutter Toulouse Meetup, it is fun to share my passion for Dart & Flutter. I’ve provided some talks to GDG and DevFest event ( Toulouse, Montpellier, London ).

Design Thinking, how to make better apps quickly in a post covid world

by François Légaré, Bell

We will review multiple tools used to create products that are aligned with customer needs. From ideation tools to root cause problem analysis, this talk will help you and your team build a backlog that is fully aligned and prioritized in a quick iterative format (+/- 5 days from problems analysis to conception).

Bio

Holder of an engineering degree in information technology and a DEC in computer science, and more recently a MBA François Légaré work in the IT field since 1998. He was a programmer analyst and system architect, team lead in J2EE, web/mobile developers and trainer and now act act as a senior solutions engineer combining AI, AR/VR and various cloud and IoT solutions to increase benefits for entreprise clients. He also teach and give conferences on various IT related topics. He is also involved in the IT community of Montreal participating and organizing various IT related events.

His main strengths are innovation, creativity, communication, excellent comprehension of strategic business issues, the ability to lead complex projects and delivery team.

 

KEEP READING

February MeetUp #2

2020-02-11 |by Boris Dubois | 0 Comments | Events, Meetup

Wednesday, February 26th, 2020

The meetup will be held at Mirego!

1195 Wellington, bureau 401, Montréal (QC) H3C 1W1

Schedule:

  • 18:00 Socializing!
  • 18:30 Kotlin Multiplateforme par Nicolas Presseault et Martin Gagnon 🇫🇷
  • 19:15 Break
  • 19:30 Performance tweaks for Android Studio and Gradle by Samuel Dionne

Sponsors

https://www.mirego.com/en

Kotlin multiplateforme

NB : 🇫🇷 this talk will be in French 🇫🇷

   

par Nicolas Presseault et Martin Gagnon, Mirego

Introduction à Kotlin multiplateforme. Nous allons évoquer les principales raisons qui font en sorte que Kotlin multiplateforme a été le choix logique pour le développement de nos nouveaux projets multiplateformes.

Nous survolerons les principales différences du développement multiplateforme en kotlin (kotlin native et JS) versus le développement sur la JVM et les outils qui sont mis à notre disposition.

Bio

Martin Gagnon, Directeur, développement mobile

Avant de cofonder Mirego, Martin a travaillé comme développeur de logiciels et chef d’équipe chez Copernic. Chez Mirego, il met son expertise en R&D, en développement mobile, Web et Cloud au profit de nos clients afin de concevoir pour eux les meilleurs produits numériques. À titre de Directeur, développement mobile, il est responsable de l’amélioration continue de l’équipe mobile et de la mise en place de processus et d’outils pour livrer des produits remarquables. Il chapeaute aussi la formation de l’équipe mobile et son développement continu.

Nicolas Presseault, Développeur Android

Développeur chez Mirego depuis 7 ans, Nicolas a travaillé sur plusieurs projets mobile multiplateforme, se consacrant principalement au développement Android. Il a principalement travaillé sur des projets multiplateforme (Android / iOS) avec la technologie de J2Objc mais découvre tranquillement l’attrait pour Kotlin multiplateforme.”

Performance tweaks for Android Studio and Gradle

by Samuel Dionne, Transit

Android Studio is an awesome tool for Android development, but it may be sluggish at times. We’ll explore some of the way you can tweak it to make it faster. AS is not the only culprit when it comes to performance. Gradle builds are sometime, nay, always slow but there are some parameters we can use to improve its performance. When everything else fails, raw power does does it.

KEEP READING

October Meetup

2019-10-17 |by Laurence de Villers | 0 Comments | Meetup

Wednesday, October 23th, 2019!

We have a special meetup this month! It will be held by our sponsor onepoint!
They are providing food and drinks  🎉

606, rue Cathcart, Office 400, Montréal (Québec) H3B 1K9

Schedule:

  • 18:00 Socializing!
  • 18:30 Test-driven development in Android by Illias Kondratov
  • 19:15 Break
  • 19:30 Doze Mode and App Standby by Graeme Campbell

Sponsors

https://www.groupeonepoint.ca/

Test-driven development in Android

Level: Beginner

by Illia Kondratov

Introduction for people who never tried TDD or unit testing before, or struggle with some part of it. We’ll cover benefits, discuss best practices and see what people mean when they say “it’s better to have unit-tests here”.

Bio

7 years in Android development, 3 years in TDD

Doze Mode and App Standby

Level: Intermediate

by Graeme Campbell, Octave Group

Since Doze and App Standby were introduced in version 6.0 (Marshmallow), Android has been trying to preserve battery life by limiting the amount of processing that apps are allowed to perform when they are in the background, and when the phone is not in active use. This talk will help developers understand these limitations, and know how to work with Doze mode to provide a better user experience.

Bio

Graeme has been working as a software engineer for 15 years, and started learning the Android platform in 2012. He is currently working as a mobile developer at Octave Group, creating music and entertainment products under the brand names TouchTunes and PlayNetworks.

 

KEEP READING

Kotlin/Everywhere

2019-07-26 |by Laurence de Villers | 0 Comments | Events, Meetup

Wednesday, August 28th, 2019!

We have a special Kotlin/Everywhere meetup.

Kotlin/Everywhere is a global series of community-led events, where developers can learn the essentials and best practices of Koltin in Android, Google Cloud Platform and multi-platform development.

 

At Hopper, 5795 Gaspe Ave #100, Montreal, QC H2S 2X3

  

Schedule:

  • 18:00 Socializing
  • 18:30 Android functional testing made easy with Kotlin by Marc-Antoine Sauvé
  • 19:00 Delegation in Kotlin by Philippe Breault
  • 19:45 Break
  • 20:00 Coroutine + Flow = MVI ❤ by Étienne Caron

Sponsors:

https://www.hopper.com/

 

Android functional testing made easy with Kotlin

Level: Intermediate

by Marc-Antoine Sauvé,  Hopper

This talk will walk you through how Hopper leveraged Kotlin to build clean DSL based functional testing that separate the “what” from the “how”.

Bio

Marc-Antoine Sauvé is a Senior mobile developer at Hopper, a Montreal startup that use Big Data to predict the price of hotels and plane tickets.

He’s a mobile enthusiast, enjoying bleeding edge technology, app architecture, functional programming, reactive programming, Swift and Kotlin.

Delegation in Kotlin

Level: Beginner

 

by Philippe Breault, American Express

Ever heard of the phrase “Prefer composition over inheritance”? One of the better patterns to achieve this is “Delegation”. And thankfully, Kotlin has built-in support for this pattern.

This talk will cover class delegation and delegated properties as a mean to make your code more readable and reusable. We’ll take a look at both approaches’ strengths, weaknesses, and when you should use them. We will also take a look at the code that is generated under the hood to discuss performance implications.

Bio

Phil is an Android engineer who has been passionate about Kotlin since way before Google officially accepted it as an official language for their mobile platform. He worked on a wide variety of Android apps for banks, newspapers, startups, television providers, and more. He currently works at American Express.

Coroutine + Flow = MVI ❤

Level: Intermediate

 

by Étienne Caron, Google Developer Expert, Shopify

Managing state in Android applications can be painful. Over the years, various architectural patterns have evolved to try and tame it: MVC, MVP, and MVVM. MVI (Model-View-Intent) is an evolution of these patterns. Thanks to Immutable State management and Unidirectional Data Flow, we can finally say goodbye to race conditions and rogue mutations. Combine the power of MVI with Kotlin Coroutines alongside the recently released Kotlin Flows library. The result? Real magic. No RxJava incantations required! In this session, you’ll learn how to build a Model-View-Intent (MVI) Android App, using both Kotlin Coroutines and Kotlin Flows. You’ll walk away understanding the core principles of this pattern, as well as its key benefits. Get ready to fall for MVI❤!.

Bio

Etienne Caron is a developer lead at Shopify, a popular Canadian e-commerce company. He is also part of Google’s Developer Expert program, and an instructor for Caster.io

Etienne has been an active member of the Android developer community in Montreal since 2010, and regularly devotes his time to mentoring startups, developers and students in the mobile space.

3D animation, procedural content generation and VR are some of his hobbies, and he loves introducing other developers to this fascinating field.

KEEP READING

June Meetup

2019-06-21 |by Boris Dubois | 0 Comments | Meetup

Wednesday, June 26th, 2019!

!It’s summer and June meetup is here ☀️ It will be held by our sponsor Ineat !
They will provide food  for the event 🎉

INEAT Canada inc. 204 rue Saint-Sacrement 7e étage Montréal (QC) H2Y 1W8, Canada

  

Schedule:

  • 18:00 Socializing!
  • 18:30 Pourquoi vous avez besoin d’une Clean Architecture ? By Julien Hamon
  • 19:15 Break
  • 19:30 Vim or How I Learned To Stop Worrying & Love The Keyboard. By Vincent Carrier

Sponsors

Ineat Canada

 

Pourquoi vous avez besoin d’une Clean Architecture ? (In French)

Level: Intermediate

by Julien Hamon

L’architecture applicative définit la façon dont nous développons, testons et maintenons nos applications. Une bonne architecture vous permet d’adopter facilement les changements constamment demandés et vous protéger de casser des fonctionnalités existantes.

Dans cette présentation je vais introduire le concept de Clean Architecture : ses avantages et vous aider à comprendre pourquoi cela s’appliquerait bien au développement de votre application.

Nous utilisons le concept de Clean Architecture sur l’application mobile sur laquelle je travaille et nous en voyons les bénéfices tous les jours !

 

Vim or How I Learned To Stop Worrying & Love The Keyboard

Level: Intermediate

by Vincent Carrier, Omnigate

In this talk you will learn what is Vim, why and how it is useful, and how to integrate it into your Android development.

KEEP READING

Google I/O special event

2019-05-20 |by Laurence de Villers | 0 Comments | Events, Meetup

Thursday, May 30th, 2019!

We have a special Google I/O meetup co-organized with ApplETS, a scientific student club.

We have the pleasure to have a Firebase speaker for this event!
We will provide food for the occasion!

 

 .

 

1100 Notre-Dame St W, Montreal, QC H3C 1K3 (Room A1170)

Schedule:

  • 18:00 Socializing
  • 18:30 Build and scale serverless mobile apps with Firebase and Google Cloud by Doug Stevenson
  • 19:15 Break
  • 19:30 Jetpack Compose by Étienne Caron

 

Build and scale serverless mobile apps with Firebase and Google Cloud

Level: Intermediate

by Doug Stevenson, Google Developer Advocate, Firebase team 

If your app has millions of users, you need a backend infrastructure to support its growth.  Do you want to build that infrastructure?  Of course not!  Your time is better spent focusing on the app.  In this talk, we’ll take a look at the code for a mobile app that works like a “universal translator”.  It uses Firebase and Google Cloud services and APIs.  And we’ll do it “serverless” without having to manage servers or infrastructure.  A live demo of the app will be done with audience participation – bring a phone or laptop!

Bio

Doug is a veteran engineer, experienced public speaker, and developer advocate at Google with the Firebase team.  He developed web apps before the web had “apps”, and developed for Android since the very first Android device was on the market.  In the SF bay area, he’s bootstrapped the efforts of several startups.  Outside of work, Doug follows professional ice hockey and enjoys craft beer.

Jetpack Compose

Level: Beginner

 

by Étienne Caron, Google Developer Expert, Shopify

Jetpack Compose is an unbundled toolkit designed to simplify UI development that was released at Google I/O 19. It combines a reactive programming model with the conciseness and ease of use of the Kotlin programming language.

Bio

Etienne Caron is a developer lead at Shopify, a popular Canadian e-commerce company. He is also part of Google’s Developer Expert program, and an instructor for Caster.io

Etienne has been an active member of the Android developer community in Montreal since 2010, and regularly devotes his time to mentoring startups, developers and students in the mobile space.

3D animation, procedural content generation and VR are some of his hobbies, and he loves introducing other developers to this fascinating field.

KEEP READING