Freelance developer with extensive knowledge in

Mobile App / SDK and Rust

Basic knowledge and strong interest in Embedded Linux

Android

Android Apps and SDKs

  • Android Apps with Jetpack Compose UI
  • Android Libraries / Module Development
  • Programming language Java and / or Kotlin with Coroutines and Flows
  • Binary Packages (e.g Rust) as JNI-Libs
  • Rust ↔ Java / Kotlin Interface Development with JNI (Java Native Interface - C)

iOS

iOS Apps and SDKs

  • iOS Apps with SwiftUI
  • iOS and macOS Swift Packages (SPM) Development
  • Programming language Swift with Apple Combine / Swift Concurrency (async/await)
  • iOS and macOS Binary Packages (e.g. Rust) as XCFramework
  • Rust ↔ Swift Interface Development with Swift FFI (C)

Flutter

Flutter Apps / Plugins and Dart Package SDKs

  • Flutter Apps for Mobile and Desktop
  • Flutter Plugins for integration of native Host-Platform Apis
  • Dart Packages for Flutter independent Modules
  • Programming language Dart with Futures / Streams / RxDart / Riverpod
  • Binary Packages (e.g. Rust) - Integration dependent on the Host-Platform, on iOS / macOS with 'public-symbols.txt' integration, so that symbols that are only accessed from Dart are not stripped by the linker
  • Rust ↔ Dart Interface Development with Dart-FFI (C)

Bluetooth Low Energy

Extensive Experience in BLE Development

Over the past few years I've primarily worked on BLE projects.
This included SDKs for customer-specific BLE requirements with OTA/OAD (Over The Air / Over The Air Download) Controller-Firmware-Update functionality.

Rust

Rust Development

Through my last project I was able to acquire extensive knowledge of Rust over several years:

Additionally, through my work I have been able to gain experience with Rust async (Futures / Streams), with the Tokio and Smol runtimes and including my own Future / Stream trait implementations.

In the above explained context I also used egui, a relatively simple Rust-only GUI library that can be used to create GUI apps for mobile and desktop platforms.
Its UI and UX are nowhere near comparable to Flutter or native iOS/Android/... UI libraries, but for rapid prototyping or like in my case for developing host-platform integrations very helpful, as Rust is used directly and does not require creating separate FFI interfaces for the respective GUI (Flutter UI / SwiftUI / Jetpack Compose).

With that I also gained some experience with Rust GUIs. I also tested Slint and Iced, but in the end egui is the easiest to use and the only Rust GUI library that works on both desktop and mobile platforms with minimal effort.

Fernando Lopes

Fernando Lopes
DE 72218 Wildberg
(40km on the south of Stuttgart)

+49 (0)177 679 73 53
fernando@lopes.one

Xing
LinkedIn

CV as PDF File

CV german CV english