Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Making of WordCamp Official App.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
つぼち
November 02, 2019
Technology
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Making of WordCamp Official App.pdf
2019.11.02で開催されたWordCampTokyo2019の資料です。
つぼち
November 02, 2019
More Decks by つぼち
See All by つぼち
WordPressでポートフォリオサイトを作った話
tsubochi
0
450
Other Decks in Technology
See All in Technology
家のリアーキテクト・リファクタリング
suguruooki
0
140
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2k
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
330
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
700
Gitは怖い?共有ワークスペースから始めるSnowflakeチーム開発
coco_se
0
190
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
160
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
1
450
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
570
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
260
Tab5をRubyで動くパソコンにする
kishima
2
360
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
160
GoにおけるFFIのこれまでとこれから
goccy
5
2.6k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Tell your own story through comics
letsgokoyo
1
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Docker and Python
trallard
47
4.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
510
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Evolving SEO for Evolving Search Engines
ryanjones
0
290
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
450
Crafting Experiences
bethany
1
330
エンジニアに許された特別な時間の終わり
watany
108
250k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
None
自己紹介(進藤 龍之介さん) Androidアプリ開発のコミュニティ、日本Androidの会で理事を務め つつ、その中でWebのトピックスを扱うWeb Working Groupを主催。
自己紹介(壺井仁美さん) EC系のデザインを得意とし、いろんな会社でウェブデザイナー・ ウェブディレクター・UIデザイナーとして働き、現在は、メディア関 係の会社で、グラフィックデザイン〜WEBデザインまで幅広く活動 しています。去年、ロックわぷー作りました。
Introduction
Agenda 今回作ったアプリの概要 アプリ化するということ アプリとWordPress、周辺システムの構成と連携 開発環境の選定 WordPressのデータの扱い デザイン
さっそく今回のアプリの説明
WordCamp公式アプリ WordPress (REST)ベースでのアプリ開発・React Nativeアプリの開発を支援してくれるサービスの EXPOの規約に乗り、FigmaでのアプリUIデザイン を行いました。
アプリとWeb
Web ブラウザがあれば見られる 更新が容易 URLでのリンク、シェア PWAの普及によりかなりアプリに近い機能も実装可能に
アプリ 自由度 ハードウェアとの親和性 パフォーマンス アイコン プッシュ通知 オフライン
Webはここまで進んでるけど スマートフォン使用時間に占める Web の使用時間は 15%(アプリ85%)
アプリに実装したいもの セッションリスト、お気に入りチェック 入場チケットの発行 各種情報へのリンク
REJECT!!
開発基盤の選定
WordCampなので Web技術に詳しい人が多い →メンテナンスの容易さを考慮すると、開発言語はjsがいい →Webライクなデザイン実装が可能 マルチプラットフォーム →Android/iOSどちらも同じコードで開発管理したい →ハード依存のコンテンツが無い
マルチプラットフォーム開発環境 単一開発言語で複数のプラットフォーム(iOS, Androidなど)に対応するアプ リが開発できる。javascript系が優勢。 React Native, Flutterなどいろいろな開発ツールがある。 実装機能の自由度 開発の手軽さ Web
PWA マルチプラットフォー ム ネイティブ
EXPO Facebookが開発したReact-nativeベースのネイティブアプリ開発環境 https://expo.io/ javascript 多くのReactライブラリが利用可能 →使えないものもあるので要注意 サーバーでビルドしてくれるので、開発環境構築が容易 →MacがなくてもiOSアプリが作れる
EXPOの制約 そのまま使えば各プラットフォームのレギュレーションに準拠している →提供されているテンプレートをあまりいじらない プラットフォームごとのネイティブライブラリを持てない React-native用のライブラリでも使えないものもある アプリのサイズが大きくなってしまう(特にiOS)
DEMO
バックエンドとしてのWordPress
REST API WordPressの記事などを「データ」として扱う jsonで取り出したデータを加工 /wp-json/wp/v2/〜 例)WordCamp Tokyoのセッションデータ https://2019.tokyo.wordcamp.org/wp-json/wp/v2/sessions/
加工して「データ」化 REST APIの記事データはHTMLそのまま →タグ除去、エスケープ文字の復元 不要なデータの削除 ソート 複数に分かれた情報の結合 →セッション、講演者、会場など
チケット認証の紐付け WordCampのチケット:camptix https://github.com/automattic/camptix WordCampサイトの制約で直接の連携は困難 CSVエクスポート可能 →CSVでFirebaseにデータ移設 ログインしてメールアカウント認証
構成 App Web チケットデータ連携 認証 REST API
作ったもの アプリ Firebase ログイン Cloud Firestore(データ) Functions(アカウント連携) 認証用Web チケットインポート用スクリプト
アプリのUIデザイン
FigmaでのアプリUIデザイン WordPress のデザインチームが使っているのが、Figmaなので、そちらを使用いたしまし た。アニメーションを行う部分では、XDも使用し、アイコンについては、フォントオーサムを 使用し、エンジニアに伝わりやすいように、コーディングしやすいようにできるように心がけ ました。 また、全体的に、EXPOの規約にのっとっていてあまりテンプレートをカスタマイズできない ので、サイトのトンマナに合わせることを重点的に心がけ、ユーザーにもわかりやすいよう に心がけました。特に気を付けたのは、色を気を付けました。サイトのまま使うと、原色が 強くなってしまい、見えにくくなったりするので。。
アイコン アプリスプラッシュ アプリトップ
DEMO - 実物を見てみましょう
質問タイム