過去数年間、私はいくつかのアプリケーションを開発しました。その中にはニュース読み取りウェブサイト、ツールアプリ、オープンソースのブログプログラム、デジタル名刺ウェブサイトなどが含まれています。利益を考慮しなかったため、成功や失敗とは言えないかもしれませんが、誰かが使ってくれるだけで十分に満足しています。この期間中、私は多くの技術スタックに触れ、製品に関するいくつかの知識を学びました。ウェブページやミニプログラムの開発、および独自の開発について、まとめてみたいと思います。
使用して放棄した技術スタック#
過去の開発作業では、私は常に複数の技術スタックを行き来していました。最初は、大学 1 年生の頃、バックエンドの API として PHP または Python を使用し、フロントエンドでは jQuery + LayUI を使用していました。
言わずもがなですが、この技術スタックはかなり奇妙です。フロントエンドとバックエンドを分離した開発方法を考慮すると、PHP や Python の強力な MVC フレームワークはほとんど必要ありませんでしたし、LayUI 自体もフロントエンドとバックエンドを分離した開発にはあまり適していませんでした。さらに、Laytpl モジュールはいくつかのシンプルなコンポーネントを実装することしかできず、機能がやや複雑なコンポーネントの場合、作成およびメンテナンスのコストが非常に高くなります。したがって、この開発方法は適切ではありませんでした。
現在のフロントエンド技術スタック#
その後、React を学び、ニュース読み取りウェブサイトやデジタル名刺ウェブサイトなどのプロジェクトを開発するために使用しました。私にとって、React の学習コストは比較的低いと思います。フロントエンドの基礎を持つ友人にとっては、1 日で基本的な理解を得て開発に応用することができます。React はエコシステムが豊富で、多くのコンポーネントライブラリや UI ライブラリから選択できますが、私はまだ自分に適した UI ライブラリを見つけていませんので、ビューを構築するために従来の CSS の手法を使用しています。これにより、自分自身が満足するインターフェースを作成できる一方、時間のかかる作業になります。数ヶ月前、tailwindCSS を見つけました。これは非常に使いやすいツールであり、CSS の手作業の効率を向上させ、より簡単に一般的なコンポーネントをカプセル化することができます。さらに、React の学習により、フロントエンド開発に対する新たな理解が得られ、より工学的で階層的な感覚を持つようになりました。その開発哲学にも非常に賛同しています。
現在のバックエンド技術スタック#
Python + FastAPI が最初の選択肢であり、Golang は予備選択肢であり、実際には使用することはありません。JavaScript に移行することも考えています。高校 3 年生の NOIP コンテストに参加した後、Python の基本的な使用方法を学び、その後、ウェブスクレイピング技術を学び、大学で API を作成するために使用しました。Django を学ぶことはありませんでした。それは非常に重たいため、フロントエンドとバックエンドを分離した開発モデルにはあまり適していません。主な理由は、当時学習コストが非常に高いと感じたためです。Flask についてはあまり好きではありません。FastAPI については、一目惚れと言っても過言ではありません。開発が非常に簡単で、速度も非常に速いです。複雑なコーディングをする必要がなく、有用な API を直接作成することができます。Crud は本来、比較的単純な作業ですので、たくさんのコードを書く必要はありません。
また、独立開発者には、バックエンドの API を高水準の言語で書くことを強くお勧めします。特に動的型付け言語が最適です。Java、Rust、C++ などはお勧めしません。自分自身との戦いになってしまいます。実際、Golang も非常にお勧めではありません。開発は非常に面倒で、JavaScript や Python と比べて効率がはるかに低いです。本当に多くの人があなたのアプリケーションを使用していますか?それとも、あなたの技術が十分でないために言語の特性を補う必要があるのでしょうか?
UI デザインは模倣が主#
UI デザインについては、私はほとんど発言権を持っていません。関連するコースを学んだこともなく、関連する書籍を読んだこともありません。しかし、アプリケーションをフォーラムに公開すると、「楼主はデザインを学んだのですか?」、「本当に美しいですね、楼主はデザイナーですか?」といったコメントがよく寄せられます。明らかな答えは、どちらもではありません。私はただのコンピュータ専攻の普通の学生です。言われるままに、天下の文章は一大抄であり、あなたがどれだけ抄するかにかかっています。インターフェースでは、主に模倣を行っています。たとえば、私はよく大手企業のウェブサイトを閲覧し、要素の検査ツールを開いて、いくつかの興味深い効果がどのように実現されているかを確認します。時には、16 進数のカラーコードやグラデーション関数などを保存することもあります。私にとって最も有益なのは、間違いなく Apple の公式ウェブサイトです。Apple のデザインは言うまでもなく素晴らしいですし、そのスタイルを学び、自分のアプリケーションに適用することで、大きな問題は起こりにくくなります。また、iOS システムアプリのスタイルデザインを観察し、それを小プログラムのスタイルの参考にしています。それらの多くはシンプルで使いやすいインターフェースであり、派手さを拒否しています。
私の開発経験は限られており、製品開発の能力も限られています。友人たちが独立開発の経験を共有してくれることを願っています。また、皆さんからの批判や指摘も歓迎します。