ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

PHP で Web およびコンソールアプリケーションを作成したいのなら!「Symfony」

概要

皆さんは Web アプリケーションなどを開発する際にどのような言語を使用していますでしょうか?

私は HTML や JavaScript を使用したり、React.js を使用して普段 Web アプリケーションを開発していますが、Web アプリケーションをもっと簡単に作成することができる PHP を使用している方も多いと思っています。

私自身は PHP についてあまり詳しくはないのですが、PHP を使用している開発者の方々にとっては Web アプリケーションを開発する際に重宝するフレームワークはいくつかあるそうで、今回はその中でも比較的人気のあるフレームワークを今回は紹介したいと思います。

今回紹介する OSS は、PHP で Web およびコンソールアプリケーションを開発するためのフレームワークSymfony」になります。

Symfony」は数多くの PHP で作成されたアプリケーション・人気のある PHP プロジェクトで採用されている、根強いフレームワークとなります。

今回は私自身 PHP やそのフレームワークについて知識がないため、「Symfony」の歴史だったり周辺知識などもまとめてご紹介できたらと思います。

それでは早速見ていきましょう!

利用手順

Symfony」をインストールする手順について見ていきましょう、なお今回ご紹介するインストール手順は、筆者が Windows ユーザーのため Windows にインストールする方法になります。

  1. 以下のコマンド PowerShell より実行し、scoop をインストール(すでに scoop をインストール済みであれば次へ進んでください)

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
    
  2. 以下のコマンドより、scoop を経由して Symfony をインストール

    scoop install symfony-cli
    
  3. Symfony をインストール後、任意の場所で以下のコマンドを打ち込み、新規プロジェクトを作成

    symfony new my_project
    
  4. Symfony が正常にインストールできているか、以下のコマンドを入力して確認

    symfony check:req
    

    正常にインストールされていれば、以下のような画面が表示されます。

  5. Symfony 新規プロジェクトディレクトリルートへ移動し、以下のコマンドを入力してサーバー起動

    cd my_project
    php -S 127.0.0.1:8000 -t public/
    

    正常にサーバーが起動すると、以下のような画面が表示されます。

使用感

実際に上記の手順で「Symfony」をインストールして動作してみました!

無事動作することはできたのですが、いかんせん PHP の知識に乏しいのでこれ以降のページカスタマイズをすることは出来ませんでした。

ただ、「Symfony」を導入して PHP 製の Web アプリケーションフレームワークを導入することができたので、少しずつ PHP の記法なども学びながらアプリケーションを作成できればなと思います。

ちなみにですが、インストールした「Symfony」プロジェクトのソースを簡単に見てみると MVC(Mode/View/Controller)を利用したハンドル再利用式でソースを書いていくそうでした。

今後はそのあたりも勉強しながら 「Symfony」を利用した Web アプリケーションを作成していきたいと思います。

まとめ

今回は、PHP で Web およびコンソールアプリケーションを開発するためのフレームワークSymfony」を紹介しました。

自分が PHP に乏しいのであまり込み入った紹介は出来なかったのですが、インストール自体は簡単に行え、かつとてもシンプルだけれども大規模開発を行えそうだなという印象を持ちました。

なお、公式ドキュメントは以下にありますので、より詳細な内容について把握したい場合は、ぜひこちらを参考にしてください。

symfony.com

PHP を利用して Web アプリケーションを開発したいと考えている方や、すでに PHP を利用している方でも、PHP 製のアプリケーションを作成するにはとても便利で強力なフレームワークとなる「Symfony」の使用を、一度は検討されてみてはいかがでしょうか。

ライセンス

MIT License

リンク

symfony.com

symfony.com

github.com

プライバシーとセキュリティに重点を置いたアプリ・ソフトウェア・サービスについて知りたいなら!「Awssome Privacy」

概要

昨今ではデジタル技術が特に進歩してきており、我々一般市民はデジタル日々どこかしらでデジタルデータを利用しています。

大企業(GoogleAppleFacebookAmazonMicrosoft など)は日々やり取りされる大量なデジタルデータを利用することで、新たなビジネスに利用していたり個人情報を基により良いサービス向上につなげるため施策を行っていると思っています。

しかし、デジタルデータには個人情報や機密情報なども含まれている場合がありますが、そのようなプライバシーにかかわる情報に対して大企業と呼ばれる会社は尊重して利用している様子は見受けられません。

個人情報などプライバシーなデータを扱う際には、セキュリティを重視したアプリ・ソフトウェア・サービスを積極的に利用することが、企業・政府・ハッカーなどによる情報搾取・改ざん・販売・詐欺などを阻止する行動になります。

そこで今回は、適切に個人情報を管理しているアプリ・ソフトウェア・サービスをまとめたリストとして、OSS として提供されている「Awesome Privacy」を紹介します。

こちらのリストを参考にしながら、どんなアプリやサービスがあって今後乗り換えていこうか、などを検討されてみてはと思います。

それでは簡単に使い方などについて見ていきましょう!

利用手順

Awesome Privacy」では公式サイトが用意されていますので、そちらを参照することで利用することができます。

awesome-privacy.xyz

使用感

実際に自分も公式サイトを閲覧してみました。

個人情報が大企業に搾取されるかもしれない、といううわさが流れ始めてからなのか分かりませんが、非常にたくさんのアプリ・ソフトウェア・サービスがあることが分かります。

その中で、日本でも最近話題になっているものといえば、ご存じかもしれない Brave Browser がありました!

brave.com

Brave Browser は公式サイトにも記載がありますが、オンライン上のプライバシーをしっかり確保してくれて、かつ広告もデフォルトでブロックしてくれるという何ともありがたいブラウザで、今回紹介している OSSAwesome Privacy」にリストアップされていることもうなずけますね。

もう一つ注目したのが、以前私が紹介した OSSJoplin」もリストアップされていました!!

kewpie13.hatenablog.com

joplinapp.org

Joplin」については上記で自分が取り上げた記事を確認していただければと思いますが、メモ・ノートアプリでしてローカル上にデータを保持しておくこともできますし、クラウド上にデータをアップロードする際にも適切に暗号化されるため、個人情報をきちんと保護してくれるという素晴らしい OSS です。

Joplin」に関しては、このクラウド利用時の暗号化機能があることでこちらの「Awesome Privacy」にリストアップされたのでしょう!

ここで取り上げた OSS 以外にも、個人情報を適切に管理しているソフトウェアはたくさんあるので、一通り目を通してみるとよいかもしれませんね。

まとめ

今回は、適切に個人情報を管理しているアプリ・ソフトウェア・サービスをまとめたリストとして、OSS として提供されている「Awesome Privacy」を紹介しました。

普段利用しているアプリが個人情報を漏洩しているから危険というわけではないですが、今後我々の個人情報が軽く見られてプライバシーのかけらもないような扱いを受ける日があるかもしれません。

そのように考える人たちがこのような個人情報を適切に管理するアプリ・ソフトウェアなどを作成していることなどを踏まえ、一度私たちの個人情報の在り方や使い道などについて調べたり考えてみるのも悪くないかもしれません。

もし、個人情報・機密情報を適切に利用しているアプリ・ソフトウェア・サービスに切り替えてみたいという方がいらっしゃったら、ぜひこちらの「Awesome Privacy」を参照してみて利用されてみてはいかがでしょうか?

私も少しずつこちらの「Awesome Privacy」リストに記載されているアプリ・ソフトウェア・サービスに切り替えていこうかなと思いました!

ライセンス

Creative Commons Zero v1.0 Universal

リンク

awesome-privacy.xyz

github.com

管理画面ダッシュボードを作成したいなら!「Tabler」

概要

Web アプリを開発したり何かのサービスを開発した際に、サービスを管理するためのダッシュボードなどを利用して視覚的にすぐに情報を把握したいことはないでしょうか?

ただ、管理画面はエンドユーザーに直接触ってもらうものではないですし、関係者のみが最低限の情報だけを把握できれば良いと考え、UI/UX がおろそかにしてしまうことも多々あると思います。

自分はそのような考えの持ち主なので、開発したはいいものの管理に苦労してしまうということが多々あります。。

そこで管理画面ダッシュボードを素早く簡単に作成することができる OSS はないかなと GitHub を探していたところ、見事この悩みを解決してくれる OSS を見つけたのでご紹介します。

今回ご紹介する OSS は、きれいでレスポンシブな管理画面ダッシュボードを簡単に作成することができる「Tabler」になります。

Tabler」はすべてのブラウザーと互換性があり、かつ完全レスポンシブということなので、モダンでユーザーが気に入りそうなインターフェースを提供してくれていますし、作成することができます。

デモ画面が以下で紹介されていますので、参考までにどうぞ。

preview.tabler.io

また、コンポーネントは一貫性が保たれているため、デザインも崩れることはないと謳われています。

それでは簡単に「Tabler」についての特徴についてみていきましょう。

特徴

  • レスポンシブ UI
    • モバイル画面、タブレット画面、デスクトップディスプレイ画面すべてに対してレスポンシブ UI が適用
  • クロスブラウザ
  • HTML5 & CSS3
    • HTML5 や CSS3 などの最新の Web 技術が利用されており、人目を集める CSS3 アニメションも利用可能
  • 美しいコード
  • デモページ
    • 様々なコンポーネントを使用した 20 以上の個別ページがあり、自由にカスタマイズすることが可能

利用手順

Tabler」を利用するには OS ごとに対応が必要となりますので、必要に応じて対応してください。

事前準備

  1. [Node.js[(https://nodejs.org/download/) をインストール

  2. GitHub リポジトリから本ソースをクローン

    git clone https://github.com/tabler/tabler.git
    
  3. クローンしたディレクトリへ移動し、Node モジュール群をインストール

    cd tabler
    npm install
    
  4. Ruby をインストール、推奨バージョンは 2.7.6

  5. 以下のコマンドより Bundler インストールし、その後必要な Bundle モジュールをインストール

    gem install bundler
    bundle install
    

OSX の場合

  1. 以下のコマンドより、必要な Node.js モジュールをインストール

    npm install
    
  2. 以下のコマンドより、Ruby をインストール

    ‘‘‘bash brew install ruby @2.7 ```

  3. 以下のコマンドより、Bundler をインストール

    gem install bundler
    
  4. 以下のコマンドより、必要な Bundler モジュールをインストール

    bundle install
    
    • もし bundle install でエラーが起きた場合は、以下のコマンドを試してみること

         sudo rm -rf /Library/Developer/CommandLineTools
         sudo xcode-select --install
      
  5. 上記完了後、以下のコマンドで動作確認

    npm run start
    

Windows の場合

  1. GitC:\Program Files\git\bin ディレクトリにインストールし、以下のコマンドを実行

    npm config set script-shell  "C:\\Program Files\\git\\bin\\bash.exe"
    
  2. Ruby+DevKit をインストール

  3. Jekyll on Windows ドキュメントを参考に Jekyll を実行

  4. 「#-事前準備」の 1 ~ 5 の手順を実行し、動作確認

ローカル環境でビルドする場合

  1. Github からソースコードをクローン後、プロジェクトルートへ移動

    cd tabler
    
  2. 以下のコマンドより、必要なモジュール群をインストール

    npm install
    bundle install
    
  3. 以下のコマンドより、アプリケーションを起動

    npm run start-plugins
    
  4. 起動後、ブラウザから http://localhost:3000 へアクセス

正常に動作すれば、以下のような画面が表示されます

使用感

私も実際に Github からソースをクローンし、動かしてみました。

画面サイズを小さくしたり、モバイル端末表示など試してみましたが、レスポンシブ対応ということで自動的に UI が調整され、崩れなく綺麗に表示されていました。

また、ダッシュボードの出来も素晴らしく、マウスオーバーなどで項目情報がポップアップされたりするので、非常に使いやすく視覚的にもわかりやすいダッシュボードだなと思いました。

このような UI を開発者個人で自由にカスタマイズしながら作成することができるというのはとても素晴らしいですね!!

まとめ

今回は、きれいでレスポンシブな管理画面ダッシュボードを簡単に作成することができる「Tabler」をご紹介しました。

ソースコードも公開されていますので、ぜひそちらを参考に独自の管理画面ダッシュボードを作成されてみてはいかがでしょうか。

また、「Tabler」は npm でも配布されています。

npm install --save @tabler/core

Tabler」を利用して一から管理画面などを作成する際には便利ですね。

綺麗でレスポンシブな UI、かつ管理画面ダッシュボードを作成したいと考えている開発者の方は、ぜひ一度こちらの「Tabler」を検討されてみてはいかがでしょうか?

ライセンス

MIT License

リンク

preview.tabler.io

github.com

Notion や Miro のように使えるまったく新しいナレッジベース!「AFFiNE.PRO」

概要

普段スマートフォンやパソコンなどでメモを取る際、メモ帳アプリなどを利用されている方もいるかもしれませんが、最近ではクラウド上で管理していつでもどこでもメモを管理することができるアプリ「Notion」などを利用されている方も多いのではないでしょうか。

www.notion.so

自分も普段メモを取る際はこちらの「Notion」を普段利用させてもらっており、どこでもどの端末でもアカウントさえ把握していれば閲覧・編集することができるのでとても重宝しています。

また、他人と意見を出し合う場であったりブレーンストーミングを行う際、Web 上のサービスを利用するならば簡単に絵やグラフ、テキストを他人と共有することができるアプリ「Miro」を使用されている方も多いのではと思います。

miro.com

こちらの「Miro」を利用することで、最近では 1 つの部屋にメンバーが全員集まらなくても議論することが容易になりましたよね。

上記で上げた「Notion」と「Miro」をうまく使い分けることで私たちの作業はとても効率よく行えるようになったと思っていますが、これら 2 つのサービスを 1 つにまとめてさらに作業効率性を上げようという大変興味深い OSS を見つけましたのでご紹介しようと思います。

今回紹介する OSS は「Notion」と「Miro」に置き換わることを虎視眈々と狙っているナレッジベース「AFFiNE.PRO」になります。

AFFiNE.PRO」は現在積極的に開発がされている段階で、リリースなどはまだされていませんが、GitHub リポジトリからソースをクローンして動作確認することはできますので、今回はそちらの方法で見ていきましょう!

利用手順

以下の GitHub リポジトリからクローンすることで、動作確認することができます。

github.com

git clone https://github.com/toeverything/AFFiNE.git

クローンした後はプロジェクトディレクトリへ移動し、必要なモジュール群をインストールします。

なお、モジュール群をインストールする際は、pnpm 経由でインストールする必要がありますので、必要に応じて事前に pnpm をインストールしておきましょう。

npm install -g pnpm
cd AFFiNE
pnpm install

モジュール群をインストール完了したら、以下のコマンドで起動することができ、以下のような画面が表示されたら成功です!

pnpm start

使用感

実際に自分もソースコードGitHub リポジトリからクローンして動作確認してみました!

動作確認してみた際の簡単な感想ですが、Notion のようにメモやテキストを記述することができるなー、Miro のように図形をドラッグできるなーと思い、本当に 2 つのサービスを複合している印象でした。

ただ、まだ開発中ということなので多少操作性のよくない部分や UI 的にわかりづらい部分、多少のバグかなという部分もありましたが、出来栄えはかなり高く今後の開発にとても期待してしまうものでした!!

README にある動作記事が分かりやすかったので、こちらの記事でもその動画を以下に紹介していきます。

  • ページの作成

  • タスクの計画

  • Knowledge 整理

実際に利用してみましたが、上記の操作をスムーズに行えることができたので、ぜひ開発を進めていただいて早く正式版として利用したいと思います!

まとめ

今回は、「Notion」と「Miro」に置き換わることを虎視眈々と狙っているナレッジベース「AFFiNE.PRO」をご紹介しました。

本記事執筆時点ではまだアプリリリースがされていませんが、現在も積極的に開発が進められているということなので、実際に利用することができるのはまだ先になりそうですが、登場が楽しみなアプリの 1 つとして紹介しました。

AFFiNE.PRO」に関してはクラウドでデータを管理するというよりはローカルでデータを保持する方針を取るとありますが、ほかのユーザーとのリアルタイム共同作業機能もあるということなので、プライバシーな情報などもメモすることができそうですね。

新しいナレッジベースやメモ管理アプリなどをお探しの方は、ぜひこちらの「AFFiNE.PRO」を一度ご覧になってみてはいかがでしょうか?

ライセンス

MIT License

リンク

affine.pro

github.com

Facebook を iOS アプリに統合を考えているなら!「Facebook SDK for iOS」

概要

Facebook を、開発している iOS アプリに組み込みたいという要望などある場合はあるかと思います。

そんな時に、簡単に組み込むことができる SDKFacebook SDK for iOS」が公開されていますので、そちらについて今回は紹介したいと思います。

こちらの SDK ですが、コードベースの最新化を図るために iOS SDK を Swift で書き直されたもので、今後も iOS のバージョンアップに沿って機能も最新化されていきそうです。

それでは早速使い方などについて見ていきましょう!

利用手順

README に導入方法について記載があったので、こちらを見ていきます。

Swift Package Manager を利用する方法

  1. Xcode で「select File」>「Swift Packages」>「Add Package Dependency」を選択します
  2. リポジトリの URL (https://github.com/facebook/facebook-ios-sdk) を指定します
  3. 使用するプレフィックス付きのライブラリで「Facebook」を選択します
  4. オンラインで利用可能なチュートリアルを確認します
  5. 以下を参考にしながら、実際にコーディングを行っていきます

developers.facebook.com

developers.facebook.com

上記の手順で、Facebook を 開発している iOS に組み込むことができるとのことでした。

機能紹介

自分は Windows 端末しかないため、今回は README の内容に沿って記事内容を紹介します。

SDK で利用できる機能・特徴としては以下が挙げられています。

上記の機能を見ると、Facebook で利用したい最低限の機能はまずは利用できるのではないでしょうか。

まとめ

今回は、Facebook を 、各開発者が開発している iOS アプリに簡単に組み込むことができる SDKFacebook SDK for iOS」をご紹介しました。

README に組み込む方法についての手順やドキュメントなども完備されているので、実際に試してみたい際にはそのドキュメントなどを参照してっ組み込んでみてはいかがでしょうか。

developers.facebook.com

ライセンス

https://github.com/facebook/facebook-ios-sdk/blob/main/LICENSE

リンク

developers.facebook.com

github.com

ソフトウェアおよび Web 開発で利用できる API がまとまっている一覧を確認したいなら!「Public APIs」

概要

Web 開発やアプリ開発を行っていると、別サービスから情報を取得したり利用したいなということはないでしょうか?

自分は個人的に利用している Web アプリなどで天気情報が欲しいなーという場合があったのですが、その時に一般公開されている Web API のおかげで自分で一からプログラムを作成するなどということはなく、簡単に取得することができたのはとても感動しました!

いろんなサービスが出回っている昨今では、そのような便利な API を世界中のだれかが既に作成していて、親切にもサービス公開している場合があるので、開発者がしたいことをすぐにでも始められる環境が整っていると思います。

しかし、どのような API が既にサービスとして公開されているのかがわからないと利用することもできないですよね?

そんな中、世界中でサービス公開されている API をまとめてくれている OSS を発見ししましたので今回はそちらをご紹介します。

今回紹介する OSS は、ソフトウェアおよび Web 開発で利用できる API をまとめたリスト「Public APIs」になります。

上記画像に示されているように、いろいろな分野で利用できる API のリストがまとめられています。

それでは早速中身について見ていきましょう!

利用手順

こちらの API リスト「Public APIs」を利用するには、本 GitHub リポジトリにアクセスすることで、閲覧することができます。

github.com

例えば上記の目次にある「Animals」を選択して利用できる API リストを見てみます。

上記の核 API では動物に関係する画像などが、API を経由して取得することができそうですね!

使用感

今回は、以前自分が開発で大変お世話になった「WeatherAPI」を取り上げようと思います。

Public APIs」の目次「Weather」にもきちんと取り上げられており、「WeatherAPI」へアクセスすることもできます。

www.weatherapi.com

使い方・詳細情報などは上記の公式サイトを参照いただきたいのですが、当時はこちらの API を利用することで天気の情報を取得することができたので、とても感謝している API の 1 つです。

まとめ

今回は、ソフトウェアおよび Web 開発で利用できる API をまとめたリスト「Public APIs」をご紹介しました。

個人的には「WeatherAPI」で大変お世話になったのですが、そのほかにも「Transportation」API も個人的に開発している Web 開発で利用できそうだなと思いました。

ただ、API の使い方は開発者の方次第で無限通りもあると思うので、ソフトウェア開発・Web 開発で何か API を利用してサービスを作成したいと考えている方や、便利な API がないかお探しの方は、ぜひこちらの「Public APIs」を一度参照されてみてはいかがでしょうか。

ライセンス

MIT License

リンク

github.com

パソコンでデスクトップ壁紙を探しているなら!「Wallpapers」

概要

普段お使いのパソコンや学校・会社で使っているパソコンなどで、デスクトップをかっこいいものにしたいという方は多いのではないでしょうか。

そんな時、壁紙のみを上げている GitHub リポジトリを見つけましたのでご紹介します。

今回紹介する OSS は「Wallpapers」というもので、とてもきれいでシンプル、かつとてもかっこいい壁紙を紹介していただいています。

上のような壁紙をたくさん提供されています。

それでは早速利用方法などについて見ていきましょう!

利用手順

利用方法は簡単で、本 OSSGitHub リポジトリにアクセスすると JPEG 画像がまとめられているので、そちらからダウンロードするだけです。

github.com

使用感

実際に自分もいくつか画像を拝見してみたのですが、とてもシンプルですが、イラストがとてもシンプルなのでそういう図柄が大好きな自分にとっては最高でした!

いくつか本記事にも画像を上げているのですが、どれも自分は好みです!

まとめ

今回は、とてもきれいでシンプル、かつとてもかっこいい壁紙を紹介している OSSWallpapers」をご紹介しました。

個人的にはとても好きなイラストなので個人的にいくつか利用させていただこうかなと思いました!

シンプルだけどかっこいい画像をデスクトップに利用したいなと考えている方などは、ぜひこちらの「Wallpapers」を一度拝見されてみてはいかがでしょうか。

ライセンス

特に見当たりませんでした(個人的に利用するなら問題ないと思いますが、商用で利用する際には注意が必要そうですね)。

リンク

github.com