본문 바로가기

Flutter Desktop 에서 Rust library 사용하기 (3): Windows, macOS 이전 포스트 들에서는 모바일 앱에서 Rust library 를 사용하는 방법을 직접 구현해 봤습니다. 이번에는 cbindgen, ffigen 툴을 활용해서 좀 더 쉽게 Rust library를 연동하고 Desktop OS(Windows, macOS)용 Flutter 앱에서 사용하는 예제를 만들어 보겠습니다. flutter library 생성시 plugin_ffi template을 이용하면 sum을 구하는 예제가 있는데, 여기서는 문자열을 주고 받는 함수로 변경해 보겠습니다. flutter에서 Rust library 사용하기 (1a): Android + JNA (본 포스트) flutter에서 Rust library 사용하기 (1b): Android + JNI flutter에서 Rust library 사용하..
Flutter 에서 Rust library 사용하기 (2): iOS + C library in Rust 이번에 소개할 내용은 Flutter(iOS) 에서 Rust 기반 library 를 사용하는 방법입니다. iOS는 Android와 다르게 dynamic library를 지원하지 않아 static library로 빌드를 해야 합니다. 그리고, C library를 그대로 사용할 수 있기 때문에 JNA용으로 library 소스가 있다면 변경없이 그대로 사용가능합니다. 다만, iOS용으로 빌드를 다시 해줘야 합니다. Xcode setup이 좀 간단하지 않아서 유투브 동영상도 올렸으니 참고해보세요. flutter에서 Rust library 사용하기 (1a): Android + JNA flutter에서 Rust library 사용하기 (1b): Android + JNI flutter에서 Rust library 사용하..
flutter에서 Rust library 사용하기 (1a): Android + JNA 이번에 소개할 내용은 지난번에 이어서 Flutter(Android) 에서 Rust 기반 library 를 사용하는 방법입니다. 지난번에 JNI 기술을 써서 연동했다면 이번에는 좀 더 진보된 JNA(Java Native Access)를 사용하는 방법을 다루겠습니다. 아래는 순서를 좀 바꿨습니다. 실제 연동을 해보니 JNI 보다 JNA 가 더 C library측의 Java의 dependency가 없어서 C library는 iOS에서도 그대로 사용가능했습니다. JNI(1b)의 포스트와 중복이 있긴 한데, 이 포스트만 보시는 분들을 위해 유지했습니다. flutter에서 Rust library 사용하기 (1a): Android + JNA (본 포스트) flutter에서 Rust library 사용하기 (1b): ..
flutter에서 Rust library 사용하기 (1b): Android + JNI 이번에 소개할 내용은 Flutter 에서 Rust 기반 library 를 사용하는 방법입니다. 원래는 iOS 까지 다뤄서 어떻게 공유하는지 한 번에 보여드리려고 했으나, 내용이 많아서 아래와 2~3회로 나눠서 다룰 예정입니다. flutter에서 Rust library 사용하기 (1a): Android + JNA flutter에서 Rust library 사용하기 (1b): Android + JNI (본 포스트) flutter에서 Rust library 사용하기 (2): iOS flutter desktop에서 Rust library 사용하기 (3): Windows, macOS 이번 포스트에 다루는 Rust library와의 연동방법은 JNI와 Flutter Method Channel을 사용합니다. Flutt..
webview_flutter 사용해보기 + url로 이동하기 새 프로젝트를 만듭니다. flutter create webapp1 pubspec.yaml 을 아래와 같이 수정합니다. dependencies: webview_flutter: ^2.0.9 home.dart 를 추가하고, webview를 추가합니다. (예제는 webview_flutter 의 기본 sample에 주석 달은 부분을 추가했습니다. https://pub.dev/packages/webview_flutter/example) import 'dart:async'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; class HomeWidget extends..
Flutter 최신버전(v1.27.0 dev) 빌드시 에러 발생시 해결방안 최근 dev channel의 flutter v1.27.0 에서 빌드하면 아래와 같은 에러가 발생했습니다. Running "flutter pub get" in (myapp) ... Because no versions of youtube_player_flutter match >7.0.0+7 =2.0.0-rc1
Azure DevOps CI(Continuous Integration)로 Flutter Desktop for Windows Application 자동 빌드하기 Azure DevOps는 github같은 git 저장소, 프로젝트 관리를 할 수 있게 해주는 서비스의 일종입니다. 이전에 VSTS(Visual Studio Team Services)라는 서비스에서 새롭게 개편된 서비스라고 할 수 있습니다. 최근에 들어서 사용하기 시작했는데, github, gitlab에 못지 않은 다양한 기능을 가지고 있어서 쓸만합니다. 이 Azure Devops에서 지원하는 CI를 사용해서 Flutter Desktop App을 빌드해보려고 합니다. CD(Continuous Deployment)도 가능할 것으로 보이는데, 이번 포스트에서는 다루지 않습니다. 시작하기 전에 몇가지 준비사항이 있습니다. Azure DevOps 계정이 있어야 한다. (free plan으로도 개인 reposito..
Flutter / GridView 사용하기 Codepen에 GridView class 사용예제를 올려봤습니다. flutter code가 동작하긴 하지만 http같은 외부 모듈은 아직 작동안하네요. (이것 때문에 간단한 playground 용도 정도 밖에는 쓰기 힘들겠네요.) 예제: https://codepen.io/yeoupooh/pen/oNbOBaQ gridview ... codepen.io Base code from http://www.kaleidosblog.com/flutter-grid-view-image-gallery-how-to-download-and-display-images Flutter grid view image gallery: how to download and display images In this flutter tutori..