React Nativeの概要をさらっと

一言でいうと

JavaScriptによるWebアプリケーション開発に近い作法でAndroidiOSのアプリを開発できるツール

なにがうれしいの?

プラットフォームの多様化に対応できる 現代のWebサービスは3つのプラットフォームに対応する必要がある

そのため、すべてに対応するのであれば

などに習熟している必要があり、それぞれを別々に開発するため工数がかかる。 モバイルアプリを開発する場合、React Nativeで書けばAndroidiOSの両方に対応できる。
また、記法がJavaScriptの近いため、Webエンジニアにとってもなじみやすい

Web Viewとの違いは?

Web Viewも、工数削減ができる点、Webページっぽく書いて移植すればモバイルアプリになる点でWebエンジニアにとってなじみやすい点では同様である。
React Nativeはネイティブの名前を有している通り、UI描画はAndroid SDKiOS SDKが提供している本来の画面部品を使って画面を構築する点が違う。
具体的には、React Nativaは実行時にJavaScriptAndroid SDKiOS SDKへとUIの描画を依頼し、アプリでの処理は端末内で行われる。
そのため、ユーザーにとって体感速度が速い。(下記参考)

WebViewでは、ページのすべてをサーバーと通信しながら表示します。そのため通信量が多くなり、画面表示まで時間がかかります。一方でネイティブアプリは、画面の構成要素の多くをアプリ自体が持っており、一部の情報以外は通信無しで表示できるため、ユーザーにとっての体感速度が速いです。

WebViewでアプリ開発するメリット・デメリット - Deha magazine

参考

www.amazon.co.jp

Expoでビルドサーバーを起動しようとしたらネットワークエラーで怒られた

環境

WIndows10

やりたかったこと

React NativeでHello World的なことをしたく、Expoを使ってビルドサーバーを起動した。

手順はたったの3つだけ

1 Expoをインストール

$ npm install -g expo-cli

2 プロジェクトを作成・移動

$ expo init my-app
$ cd my-app

3 ビルドサーバ立ち上げ

npm start

つまずいたこと

AndroidQRコードを読み込んだら、これになる。

端末側の問題を疑って、サブ機のiPhoneで試してみたら、
「There was a problem loading the requested app.... It looks like you may be using a LAN URL...」 が表示される。 端末の問題ではなくやはりネットワークに原因があるらしい。

問題改善のためにやったこと

これ↓ファイアウォール設定とかアプリインストールとかいろいろ試してみる。もだめ reactjs - Can't load expo app: Something went wrong - Stack Overflow

解決策

原因はWSLでサーバーたてていたこと WSLのインターフェースはWindowsが用意している仮想のインターフェースだから、同じLAN内の他の端末からアクセスできないよね ってことでコマンドプロンプトでやったらできた

HTML5プロフェッショナル認定試験 レベル1に合格しました

HTML5プロフェッショナル認定試験 レベル1とは

認定概要
HTML5(HTML Standard)、CSS3などの最新のマークアップを使って
マルチデバイスに対応したWebコンテンツをデザイン・制作できる。

結果

81点(合格ライン65点)

無事に1回目で合格することができました。

受験動機

  • 本屋でこの試験の参考書があったので立ち読みしたら結構知らない内容が書いてあり、これ知ってないともしかしてまずい...?となった
  • なんだかんだHTMLとCSSをちゃんと勉強したことがなかった
  • 上記のように、あやふやすぎる知識でHTML、CSSを使っていたせいで、実務で使うときに無駄にGoogle検索して時間を浪費したり、限られた知っている知識だけで書いていたので、もっと良い書き方があるのでは?と不安になることがあった(例えばもっとふさわしい要素があるのにdiv要素を使ってたり)
  • HTMLやCSSはこれからもなんだかんだ使うため、知識を整理しておきたかった
  • 会社の補助対象の資格だった

 

使用した教材

勉強方法

まず教科書を眺めて試験範囲を理解。暗記するのは問題を解いていけば覚えるはずなので、流し読み程度で読むイメージでさらっと流し見。

その後Pint-tで演習。私の場合LPICで課金した分が残っていたが、新しく入る場合は2400/月~の課金あり。

Ping-tは、一通り解いて、ミスしたところは復習。スマホ片手でできるので暇なときにコツコツやっていた。

最後に確認用に買っておいた問題集に着手。のはずが、結局試験当日着手になってしまった。問題集についてる模試を解いたら7割とれていなかったので不安になったけど、実際の試験はそれより問題が易しく大丈夫だった。

 

受験したメリット

  • HTML5での変更点を整理できた
    HTML5以前のHTMLを触れていない人間なので、HTML5からの変更点とか意識してこなかった。この試験の対策をしたおかげで、ネットに落ちてるこの情報は古い書き方なのね、みたいなのを整理することができた。
  • HTMLの要素や属性、CSSのプロパティに関する知識が増えた。
    単純に知ってることが増えると実際にコーディングするときとかに選択肢が増える。
  • HTMLのセマンティクスをちょっとだけ覚えた
    HTML精通者から見たらこの試験の内容がどこまで実用的か分からないけど、少なくとも、「正式な定義としてはこの要素はこういう場面で使う」とかは多少なりとも覚えられた。

 

この試験のいいところ

  • (いい意味で)素直な問題が多いので、資格でありがちな、試験のための勉強みたいなことをせずに、最低限必要な勉強さえやっておけば受かることができる。
  • HTMLとCSSの試験であること

    そもそもHTMLとCSSの試験自体が他にないので、HTMLとCSSを基本を押さえたい!みたいな人にはちょうど良いかと。

まとめ

全体的に受験して得るものはあったので、受けてよかったと思います。

受験動機に少しでも共感する部分があれば、ぜひ受験をおすすめしたいです。

今後について

  • 本試験はレベル2もあるみたいです。ちゃんとは調べていませんが、レベル1と比べると難しそうな雰囲気があるので、Pint-tさんがレベル2用の問題集を作ってくれるのを気長に待ちつついつか挑戦したいと思います。
  • 3週間後くらいにかっこいい認定証が届くらしいので、財布に忍ばせといて職質されたときに「HTMLプロフェッショナルですが?」をやりたいです。(やりません)

おわり

LPIC-1 101と102に合格した

LPICとは

Linux Professional Institute(LPI)が運営するLinuxの資格。LPIの日本版組織のLPI-Japanが運営するLinuCっていうのもあってややこしい。

私はどっち受けてもほぼ同じ、というネットの情報を鵜呑みにしてLPICの方を受けた。

難易度に応じてLPIC-1からLPIC-3がある。今回受けたのは最もレベルの低いLPIC-1

 

使用した教材

Linux教科書 LPICレベル1 Version5.0対応

https://www.amazon.co.jp/dp/B07P5S98SK

定番の参考書。通称あずき本

ping-t

https://mondai.ping-t.com/g

ネットで使える問題集。101は無料で使えるが102は課金が必要

選択式の「最強WEB問題集」と記述式の「コマ問」がある。

 

結果

101 : 600

102 : 660

合格ライン 500(スコア範囲 200-800)

 

学習過程
  • 101

ping-tだけで十分という情報を見たので、まず先にping-tの最強問題集(選択式の方)を一通り解きながら覚えていった。コマ問(記述式の方)は手を付けていない。

最後に本の模擬問題を解き、試験に臨んだ。

 

反省点

参考書をあまり読まなかったため、ping-tに出てこなかった問題は答えられなかった。

 

  • 102

101の反省点を活かし、参考書を一通り読んでからping-tに取り組んだ。それ以外は101のときと同じ。

 

試験
  • ping-tにもあずき本にも乗ってない知識の問題が何題か出題される。
  • 英語を翻訳ソフトに通したような文章で問題が出てくる。中には問題として成り立っていないようなものもあるため、そのような場合は英文を読んで答える必要があった。

 

LPIC-1を受験したメリット

・Lv.2以降に挑戦できる

Lv.1がなくても受験自体はできるが、Lv.1に合格していないとLv.2にpassしても認定がされないらしい。

Linuxのコマンドやオプションを覚えられる

後で忘れたとしても、「こういうコマンド(オプション)があったな」というインデックスが記憶に貼られることに損はなさそう。

 

デメリット

・受験料が高いので落ちたら受験料16500円(税込)が自腹になる

・(デメリットではないけど)隅々まで問われるため、このオプション覚える必要ある?みたいなものもある。合格のためなら仕方ないという割り切りがちょっとだけ必要かも

 

まとめ

ping-tだけで受かることはできるけど余裕を持って受かりたかったら参考書も読んだほうがいい(持っておくと辞書としても役に立ちそう)

ping-tにもあずき本にも乗ってない問題は出てくる。試験中は不安だけど、抑えるべきところを抑えておけば受かるので、一通り勉強終わったら受験してしまうのがよさそう