はじめに
Twitter の埋め込みツイート(Embed tweet)を Lazy load させる方法
TL;DR
- ApoorvSaxena/lozad.js を CDN などから読み込み
- カスタムハンドラ内で埋め込みツイート作成に必要な要素(
blockquote
,script
)を 作成/追加 - いきなりイベントが大量発火しないように
min-height
などを設定しておく
はじめに
Node.js で semver 形式のバージョンを比較する方法。
Semantic Versioning 2.0.0 | Semantic Versioning
TL;DR
- omichelsen/compare-versions を使う
compareVersions(<ver_a>, <ver_b>)
で比較ver_a > ver_b
なら1
(例:1.1.2 > 1.1
)ver_a = ver_b
なら0
(例:1.1.0 = 1.1
)ver_a < ver_b
なら-1
(例:1.1.0 < 1.1.2
)
compareVersions.compare('10.0.1', '10.0.1', '>')
とするとtrue/false
で返却
はじめに
NativeScript でアプリのバージョン情報などを取得する方法。
TL;DR
- EddyVerbruggen/nativescript-appversion を使う
getAppIdSync()
:com.hoge.fuga
などgetVersionNameSync()
:1.0
などgetVersionCodeSync()
:1.0.1
(iOS),10001
(Android) など
はじめに
webpack で Moment.js の不要な Locale を除去する方法。
TL;DR
- 公式ドキュメントの手順通り
webpack.config.js
のplugins
に以下を追加new MomentLocalesPlugin({ localesToKeep: ["ja"] })
はじめに
NativeScript でデバイスの輝度(明るさ)を制御する方法。
TL;DR
- NativeScript/nativescript-brightness を使う
brightness.set({ intensity: <value> })
で輝度設定(0(暗) <-> 100(明))brightness.get()
で現在の輝度取得- 以下と組み合わせることで特定画面(or パーツ)の 表示/非表示/遷移 などの際に輝度調整が可能
- Application Lifecycle の
suspendEvent
など Page
やxxxxLayout
などのload
やunload
イベント- Android: Android Activity Events
- iOS: iOS UIApplicationDelegate (UIApplicationDelegate | Apple Developer Documentation)
- Application Lifecycle の
はじめに
モバイルアプリ(スマホアプリ)の強制アップデート(アップデートのお知らせ)に関して調べたり、検討したりしたので簡易的なメモを残しておく
強制アップデート(アップデートのお知らせ)とは、↓のようなアプリ起動時に「最新版があるよ」と通知するようなやつ。
TL;DR
- 案1: 自サーバ内でバージョン情報を管理
- 案2: Firebase Remote Config
- 案3: アプリ内で App Store, Google Play にアクセス(スクレイピング)
- 案4: 案3’ と 案1(もしくは案2) との組合せ
- 案5: ライブラリを利用して実装
- NativeScript のみ: NativeScript AppSync
はじめに
NativeScript で入力範囲外エリアのタップでキーボードを非表示にする方法
TL;DR
- Android:
dismissSoftInput()
を使う - iOS:
tns-core-modules/application/ios
を使ってios.nativeApp.sendActionToFromForEvent('resignFirstResponder', null, null, null)
ScrollView
あたりにtap
イベントのハンドラとして設定- iOS は以下の問題があるため使用に注意
- ロングタップによる入力補助が上手く効かなくなる
- iOS 12以下だと入力エリアへのフォーカスが効かなくなる