初心者おじさんが【Tauri+React+TypeScript】でアプリを作ってみる

実務未経験のプログラミング初心者おじさんが、Tauriでデスクトップアプリを作ってみました。TauriもReactもTypeScriptも初めて触ったので、簡単なアプリを作るのでさえすごく難しかったです。

作成したアプリ

https://www.microsoft.com/store/apps/9P0XG2G4CS0P

このブログを公開した後で、MicrosoftStoreで認定されました。

rejectされるかと思っていたら、一発合格でちょっと驚きです。

なぜTauriなのか?

40代でゼロからプログラミングの学習を始めました。学習を始めた直後に見つけた言語、それがRustです。

しかし、Rustは難しすぎて何がなんだかサッパリ分かりません。これは最初にやる言語じゃないな・・・と、すぐに挫折しました。

しかし、初心者ながらいつかはRustでプログラミングをやってみたい、という無謀な挑戦はこの時から始まります。

なぜRustに惹かれたのか・・・

何となくRustって面白そうじゃないですか。プログラミングの世界に所有権とか借用とかライフタイムがあるなんて。

再挑戦

早々にRustで挫折したプログラミングですが、もう少し初心者向きの言語なら出来るかもと再挑戦しました。

Pythonに始まり、JavaScript、C#、C++と色々な言語を触ってみましたが、どれもこれも難しい。

プログラミングに縁の無い世界で暮らしていましたし、相談できる相手もいない状態での独学です。何度挫折したか覚えていないくらい、触った言語すべてで挫折しました。

プログラミングスクールに行こうにも、高すぎて行けません。しかも、40代未経験からプログラマーに転職できるとは到底思えませんでした。

まぁ、プログラミングは趣味としてちまちま続けていけばいいかと思い、暇な時や気が向いた時にプログラミングをするという、すごくゆる~い学習スタイルに変更です。

それでも続けていくうちに何となく理解できることが増えていき、再帰再帰を繰返し、あるとき、当初よりもRustを読めるようになっていることに気づきました。

Tauriに関する情報も出てきて調べやすくなっていたことも、Tauriでのアプリ作りを始める後押しとなりました。

プログラミングを始めたときから、月日は流れ、独学のみで丸4年。

今の若者からすれば考えられないほど非効率。非効率の極みです。

ほとんどがReact

Tauriでのアプリ作りを始めましたが、プログラミングしていた時間のほとんどがReact関係の調べ物です。

TauriってRustだよね?

RustをやってみたくてTauriを選んだのだけど・・・これって、Rustのことを知らなくても書けるんじゃない?

何を言っているかわからねーと思うが、Rustだと思ったらReactだった・・・状態です。

Rustへの道のりはまだまだ遠い。果たして生きているうちに、Rustの片鱗を垣間見えるようになれるのか?

Tauriで難しかった所

アプリ作りで難しかったことの大半は、React+TypeScriptに由来するものでした。これは、私がReactもTypeScriptも触るのが初めてだったから仕方がありません。React+TypeScriptに慣れている人なら、何の問題も無かったでしょう。

エラーの解決に一番時間がかかったのは、TauriでのCORS関連です。cspの設定方法が日本語であまり無いんですよね。

ローカルファイルのPDFをプレビュー表示する。一見するとすごく簡単に設定できそうなのに、全然出来ない。すでに誰かやってそうなのに、検索しても情報が出てこない、出てきた情報では解決できない。こんなことの繰返しでした。

最終的には、ネットに載っていた情報だけでは解決できずに、これは正攻法じゃないんだろうなと思いながらも、cspの設定は最小限にしつつ無理矢理エラーを回避。iframeで簡単に表示するにはどうしたらいいのか、未だに分かりません。

参考にしたサイト

軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう
https://gihyo.jp/article/2022/10/rust-monthly-topics-02

このサイトとソースコードが無かったら、独学でTauriのアプリ作りは絶対に不可能でした。

本当にありがとうございます。

やはりエンジニアっていうのはすごい人たちだな、ということを思い知りました。

お仕事募集中

プログラミングの世界への一歩

こんにちは、私のページを訪れてくださりありがとうございます。

50歳を目前にして、私は新しい挑戦を決意しました。それは、プログラミングという全く新しい分野です。これまでの人生で培った知識と経験を活かし、新たなスキルを習得することに情熱を注いでいます。現在は、在宅でプログラミングの仕事を探しており、品質を重視した仕事を提供したいと考えています。

私は、学ぶ意欲と新しい挑戦への情熱を持っています。未経験ではありますが、その分、新鮮な視点と柔軟な思考で、お客様のプロジェクトに貢献できると信じています。「安いだけ」の仕事には興味がありません。 お客様のニーズに応じた、しっかりとしたサービスを提供することで、お客様のビジネスに貢献したいと思っています。

プログラミングは、単にコードを書くこと以上のものです。それは、問題解決のプロセスであり、創造的な表現の形です。私は、この新しい道を通じて、お客様のビジョンを実現する手助けをしたいと考えています。もし、意欲的な姿勢と新しい視点を持ったプログラマーをお探しで、一緒に価値ある成果を出したいとお考えであれば、ぜひ私にお声がけください。未経験ですが、確かな品質でお応えします!

生成AIは予想以上に便利

上記「プログラミングの世界への一歩」の文章は、Copilotに作成してもらったものです。

ChatGPT、Copilot等の生成AIは思っていた以上に優秀です。

プログラミングで行き詰まった時も、ChatGPTにエラーを投げれば何かしらの答えを返してくれます。ChatGPTだけでエラーが解決することは少ないですが、何かしらのヒントが紛れていることも多いです。

現状のAIは、まだまだ答えに嘘を紛れ込ませることも多いですが、プログラミングだとある程度コードを読めたら、動かせば正しいか分かるので使いやすいと思います。

ChatGPTの登場で、独学でもプログラミングの学習がかなり効率的になりました。

一方で、全く知識が無い分野だと、ChatGPTの嘘を嘘だと見抜けないので、そのまま鵜呑みにするのはまだまだ危険な感じがします。

このようなブログを最後までお読み頂きありがとうございます。やりがいや経験を積むだけじゃない、未経験おじさんでも副業で出来る高収入で在宅のお仕事お待ちしてまっしゅ。