14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Svelte Nativeを触ってみた

Posted at

目的

Svelte Nativeを使って、カメラを使って写真を撮ってそれを表示するやつをやってみる。

環境

今回はandroidを使ってやった。
android11
node: v16.3.0
npm: v7.15.1

プロジェクトの用意

公式ホームページにもある通り、テンプレートからsvelte nativeのプロジェクトを作成する。

npm install -g nativescript
npx degit halfnelson/svelte-native-template my-camera-app
cd my-mobile-app

その後以下のコマンドを実行すると、正常に動作した場合QRコードのようなものが表示されるはず。

npm install
ns preview

こんなの
image.png

アプリのプレビュー

以下二つのアプリをダウンロードする。
Native Script Playgroundでコンソールに表示されたQRコードを読み込むと、NativeScript Previewのほうにアプリのプレビューが表示される。

こんなのが出たら成功
image.png

カメラで写真を撮れるようにする。

以下のコマンドを実行してカメラプラグインを追加する。

tns plugin add nativescript-camera

そしてプロジェクトのapp/App.svelteを以下のコードに書き換える。

<script lang="typescript">
  import * as camera from "nativescript-camera";
  let image;
  const onButtonTap = () => {
    camera
      .takePicture()
      .then(function (imageAsset) {
        console.log(imageAsset);
        image = imageAsset._android;
      })
      .catch(function (err) {
        console.log("Error -> " + err.message);
      });
  };
</script>

<page>
  <stackLayout >
    <button text="Button" on:tap={onButtonTap} />
    <image src={image} />
  </stackLayout>
</page>

結果

見づらいけど上のほうにボタンがあって、それを押すと、カメラが起動。
写真を撮るとアプリに表示されるアプリが出来上がる。

image.png

* 写真を撮ってからOKボタンが表示されるまでラグがあるので注意
image.png

結論

すごいね

14
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?