技術系

アプリ開発時のライブラリ選定の仕方【ライブラリを活用して生産性を向上させよう!】

どうも。ひろです。

みなさんアプリ開発の際にライブラリを使って生産性を上げていますか?

ライブラリってたくさんあってどれを使えばいいかわかりませんよね?

私も同じ状況だったのですが、今回Slack投稿アプリを開発していく中でGUI表示ができるPythonライブラリを探していて、Tkinterというライブラリを見つけて実際に検証してみたら使いやすそうだったので選んだという感じです。

今回の記事では以下の説明をします。

  • ライブラリの選定
  • ライブラリの検証
  • アプリにライブラリを組み込む

ライブラリの選定

まず自分がどのような機能を実現したいか明確にする必要があります。

今回私が開発アプリはまずGUIで作成したいという要件があったので【Python GUI ライブラリ】という感じで検索をします。

そこでたくさんの方が使っているTkinterというライブラリを見つけました。

私の中で色々な人が使っているライブラリはその分記事も多いので選ぶ基準にしています。

あまり使われていないライブラリを使用してアプリ開発しようとすると文献がなくてエラーやモジュールの使い方を理解するのに時間がかかってしまうので文献が多そうなライブラリを選定するようにしましょう。

ライブラリを使って検証

ライブラリを決めたらすぐにアプリに組み込んでいくという作業はしません。

理由はそのライブラリのサンプルをそのまま使用しても動作するかわからないですし、そもそもモジュールの使い方がわかっていないので組み込んだとしてもエラーだったり時間を大幅にかけてしまいます。

それを回避するために小さなプログラムで動作を検証していきます。

例えばプルダウンを表示してプルダウンで選択された値を取得する機能があったとします。

この場合はまずプルダウンの表示、プルダウンに表示する文字列、値を取得で3つのフェーズに分けて検証していきます。

値の取得のフェーズではprint文を使って値が取得できているか確認します。もしデバッグできる環境があればデバッグで値を確認しても良いと思います。

デバッグの方法は別の記事で解説します。

開発しているアプリに検証した結果を組み込む

検証して実際にモジュールの使い方を把握することができたら、アプリに組み込んでいきます。

クラス設計している場合はクラスの役割似合うように実装を進めていきます。もし悩むようであればクラス図を修正する時間をとってもいいです。自分の頭の中の整理にもなるので積極的にクラス図を書いていきましょう。

アプリに組み込むことができたら動作確認をします。これでもし問題がなければ終了ですが、もしエラーなど出た場合でライブラリを使ったところにエラーが出ている場合は公式ドキュメントを見るようにしましょう。

公式ドキュメントにはエラーの詳細が記載している場合があります。誰か同じようなエラーが出ている方の記事があったら参考にしていいと思いますが、まず公式ドキュメントを見てエラーの内容やモジュールの内部的な動きを理解しましょう。

まとめ

ライブラリを使うときの開発の進め方についてまとめです。

  • 自分が実現したい機能を明確にする。
  • 「言語 機能 ライブラリ」で検索をかける
  • 文献が多いライブラリを探す。
  • ライブラリを選び機能単位で検証してみる。
  • アプリに組み込み動作確認

ライブラリはアプリ開発の生産性を向上させてくれますが、実際どのような処理が行われているのかわからないのでモジュールの動きをしっかりと理解することが大切です。

また文献が多く存在していると困ったときに参考になる記事がたくさんあるので挫折せず比較的簡単に問題を解決できると思います。

みなさんも積極的にライブラリを使用してアプリ開発の生産性向上、時間短縮をしたくさんのアプリを開発していきましょう!

ここまで読んでくださりありがとうございました。

合わせて読みたい記事

  • 技術系

アプリ開発の手順【駆け出しエンジニア必見!オリジナルアプリの作成方法を公開します】

【コードレビューは早めに!】コードレビューをすることで得られるもの

インスタンスについて実装例を用いて解説【Python】

【ソフトウェア開発】ソフトウェア開発の2つの手法ご紹介

プログラミングにおける設計の重要度

プログラミングの際に設計することで得られるメリット

プログラミングの設計手順を大公開!

インターフェースとは? C

-技術系
-, , , , , , , , ,

Copyright© 日常で感じたことブログ , 2020 All Rights Reserved Powered by AFFINGER5.