リバース・エンジニアリング

Flultterとテックブログと時々iOS

iOS

WWDC 2020のKeynoteをリアルタイムで見た感想

WWDC 2020 日程について 今年の WWDC 2020 の日程は日本時刻6/23(火) 2.am - 6/27(土)までです。 日本時刻の6/23(火)深夜2時から WWDC の Keynote が始まったので気合と根性で睡魔と戦いながらリアルタイムで見てました。 Keynote のビデオ https://develope…

WWDC 2020の What's new in PencilKitを見た感想

【目次】 What's new in PencilKitを見た感想 新しい機能 指の認識が可能かどうか その他感想 What's new in PencilKitを見た感想 日本時刻の6月23日2時からWWDC 2020 が始まった。 WWDC 2020 オープニング動画の感想はまた別の記事で書きますが、今日はオー…

52. FlutterでiOSアプリでアプリ名を変更する時にしてはいけないこと

Flutter開発している時にiOSアプリを実機にインストールするついでにアプリ名も変更したら Android Studio の方でiOS シミュレータがビルドできなくなりました。 エラー内容は Could not find the built application bundle at build/ios/iphonesimulator/Ru…

26. Flutterで4択クイズアプリのレイアウトを実装する

本日はFlutterで4択クイズっぽいアプリを作っていきます。 特に体系的に学習するという意味ではないので企画倒れになるかもしれません。 Flutterのスキルアップとしてはちょうどいい題材かなと思っています。 アプリのデザイン構成 これから何日間かにわたっ…

24. Flutterでの関数の型プロパティFunctionの導入と関数の初期化の方法

今回はFlutterで関数をプロパティのように扱う方法について学習します。 簡単にいえば、Function型が存在することが理解できればOKです。 用途はButtonクラスにonPressedプロパティがあるのですが、これをカスタムウィジェットにするときに使われるやり方で…

23. FlutterでのCustomWidgetの作り方

今回はFlutterでCustomWidgetを作成する方法について学習します。 例えば、Text('文字列')というウィジェットを継承してカスタムなTextを作成したい場合などに使う用法ですね。 このやり方を知る前はFlutterでもTextを継承するだけだと思ったのですが、これ…

22. RSSアプリを色々カスタマイズしてみる

今回はRSSアプリのカスタマイズをしていきます。 デザインの調整がメインになります。 RSSアプリの作成 tamappe.hatenadiary.com RSSアプリの詳細ページの作成 tamappe.hatenadiary.com separatorを追加する まず最初にiOSにあるようなUITableViewのseparato…

21. Flutterでの画像表示と枠線、角丸を付ける方法について

今回はFlutterで画像を表示させる方法とWidgetに枠線や角丸を付ける方法について学習します。 SwiftUIでも同じようなことを書きました。 qiita.com 画像の表示 Flutter公式では次のリンクが参考になります。 flutter.dev まずはプロジェクトファイルに画像を…

20. Flutter公式のプラグインを使ってWebViewを表示させる

今回はFlutterでWebViewウィジェットを使ってみたいと思います。 前回の続きになりますが、念の為、前回どこまでしたのかを復習する場合はこちらになります。 tamappe.hatenadiary.com FlutterのWebViewプラグイン Flutter公式にWebViewのパッケージwebview_…

19. Flutterでwebfeedとhtmlを使ってRSSのリスト一覧を作成する

今回はFlutterでRSSの導入みたいなものを作成したいと思います。 RSSアプリの概要 今回RSSで使うXMLファイルはQiitaにユーザーフィードにしています。 ここで学習できた内容は ListViewとListTileの使い方 画面遷移 ライブラリのインストール ウィジェットの…

18. FlutterのTabBarのカスタマイズ、Tabの高さの変更

今回は前回学習したTabBarをどこまでカスタマイズできるかについて試してみたいと思います。 tamappe.hatenadiary.com TabBar の高さの変更 TabBarのデフォルトの高さがどれくらいか情報が見つかりませんでしたが、タブの高さを変更することはできるみたいで…

17. FlutterでSegmentController的なUIをTabBarViewを使って実装する

本日はFlutterのTabBarとTabBarViewについて学習します。 iOSでいえばスマートニュースやグノシーみたいなニュース系アプリに使われているトップ画面のメニューバーみたいなUIを実現できます。 TabBarの基本的な書き方 TabBarの基本的な書き方は次の通りです…

16. Flutter のデータベース外部パッケージSQFLiteを使ってみる

本日はFlutterでデータベース操作を学習しようと思います。 iOSとAndroidではSQLiteという軽量ライブラリがあります。SQLiteを使えばアプリ内にDB(DataBase)を作成しアプリ内にデータを保存できました。 そのSQLiteをFlutterで利用するための外部パッケージ…

15. Flutter のBottomNavigationBarでUITabbarControllerぽく作る

今回はFlutterでBottomNavigatonBarの拡張を行いたいと思います。 またBottomNavigatonBarの基本的な使い方は以前に学習しました。 tamappe.hatenadiary.com こちらは画面の切り替えができておらず、本当にアイコンの選択/未選択とウィジェットの更新だけの…

14. Flutterでパラメータ付き画面遷移の方法について学習する

前回はFlutter での画面遷移の方法について学習しました。 本日はそれをもとにして画面遷移時に遷移先の画面に値を渡す方法について学習します。 といってもそれほど難しくはなく発想はiOSやAndroidと同じです。 それでは見ていきます。 画面間の値渡しの方…

13. Flutterで画面遷移に使うNavigatorについて学習する

本日は複数画面の切り替え機能である「ナビゲーション機能」について学習します。 ナビゲーション機能はNavigatorというクラスが用意されているようです。 iOSでいうところのUINavigationControllerみたいなものだと推測しています。 Navigator クラスについ…

12. FlutterのTabbarであるBottomNavigationBarについて学習する

今回はiOSでいうところのUITabbarControllerに当たるBottomNavigationBarについて学習します。 BottomNavigationBar とは AppBarのように画面の上側ではなく、下側にもバーを表示させたいことがあります。 この下側にバーを設置するウィジェットがFlutter で…

11. FlutterのScrollViewについて学習する

今回はFlutterのScrollViewことSingleChildScrollViewについて学習します。 SingleChildScrollViewは特別な設定をしなくてもウィジェットを中に入れておくだけで、そのサイズに応じて自動的にスクロール表示ができるウィジェットです。Scroll用のウィジェッ…

10. FlutterでListViewをタップした時の挙動を実装する

前回はListViewの表示について学習しました。 実際のアプリ開発では画面の表示だけでなくそのUIをタップしたときの挙動も実装しなければならないことが多いです。 今回はそのListViewで表示されているものをタップしたときの処理を実装していきます。 ListVi…

9. FlutterのListViewについて学習する

本日はFlutterのListViewについて学習します。 ListViewとは 少し前に複数ウィジェットを配置するための縦に並べるColumnと横に並べるRowについて学習しました。 ListViewはこのColumnに似ています。 どちらかというとAndroidの知識があるとAndroidにすでにL…

8. FlutterのGridViewレイアウトを学習する

本日はFlutter のGridViewについて学習します。 前回は複数のウィジェットを乗せるためのウィジェットColumnとRowについて学びました。ColumnはiOSでいえばUITableView、AndroidではRecyclerViewと同じような役割を持っていました。 本日のGridViewはどちら…

5. レイアウトウィジェットについて

今回はFlutter のレイアウトで使うレイアウトの一部について学習します。 学習するウィジェットはText, Center, Container クラスです。 Text ウィジェット について まずはサンプルコードを書きます。 Text( 'Hello Flutter', style: TextStyle(fontSize: 3…

4. Flutter におけるボタンウィジェットについて

今回はFlutter で使えるボタンのウィジェットについて学習します。 ButtonWidget の種類について これまでのバックグラウンドがiOSエンジニアでしたのでiOSと比べてみます。 Flutter iOS FlatButton UIButtonと同じ RaisedButton UIButtonが立体的に表示され…

3. Flutter のState クラスについて勉強する

今回はFlutter の状態を扱う機能であるState クラスについて勉強します。 これまで書いてきた StateクラスはStatelessWidget(静的クラス)でした。 Flutter のState は2種類存在します。 StatelessWidget (静的なState) StatefulWidget (動的なState) よくFlu…

2. iOSエンジニアがFlutter を触ってみた2

iOSエンジニアがFlutter を触ってみた2 今回は Scaffold と AppBar について勉強しましょう。 【目次】 iOSエンジニアがFlutter を触ってみた2 Scaffold と AppBar Scaffold について整理する Scaffold と AppBar Scaffold はアプリの構成の骨組みみたいなも…

1. iOSエンジニアがFlutter を触ってみた

iOSエンジニアがFlutter を触ってみた 去年から気になっていた技術のFlutterをとうとう今年から触っていきます。 iOSエンジニア視点で記事を書いているのでiOSアプリ開発との差異に注目しながら記事を書いていきます。 iOSエンジニア向けにFlutterとはどんな…

RxSwift+NotificationCenterの購読機能を使ってキーボードが被らない機能を実装する

概要 今回はNotificationCenterのRxSwiftについて解説していきます。 github.com このページをみるとNotificationCenterにはnotificationのfunctionがあることがわかります。 ということは NotificationCenter.default.rx.notification("", object: nil) と…

WKWebViewのRXデータバインディングを実装する

概要 今回はWKWebViewのRxSwiftのローディング処理について見ていきます。 実はRxSwiftにWKWebViewのものがないためかrxのプロパティがありません。 ただし公式がWKWebViewに対するライブラリを提供していますのでこれをインストールして貰えればrxが使える…

RxSwiftを使ってUIKitのRXデータバインディングを実装する

概要 今回はRxSwiftを使ってUIKitのデータバインディングの実装を見ていきます。 RxSwiftはUIKitの数だけメソッドがあります。 こちらのページがRxで実装できるクラスの一覧です。 github.com めちゃくちゃ多いですね。大体のUIKitをRxで書ける事がわかりま…

RxDataSourceを使ってTableViewのHeaderとFooterを生成してみる

概要 前回はRxDataSourceを使って基本的なUITableViewのテンプレートを作ってみました。 RxDataSource github.com 今回はこのRxDataSourceについて弄ってみてどんな事ができるのかについてより詳しくみていこうと思います。 基本的なstoryboardの配置やソー…