スリープラス青木です。
今回は私が業務で実際に使用しているFWについて書いていきます。
自社FWについて
私が使用しているFWはコーディングを楽にしてくれます。
使用しなくても同じプログラムを組むことは可能ですが、使用者が手間に感じたり面倒だと思ったりするコーディングを省略することが可能です。
例えば、システムとデータベースを紐付けてSQLの実行を行いたい際にはデータベースに接続し、トランザクションを意識し、SQLを実行後に不備があった場合にはロールバック等、考慮すべき点が多くあります。
しかし私の使用しているFWを使えばたった1行でデータベースとの接続を行い、何度も処理を記述しなくてもトランザクション処理を行ってくれます。
なので、正常に処理を行った場合やエラーになった場合を意識しなくともコミット、ロールバックを行ってくれる為非常に便利で可読性が高いです。
他にはログの書き込みも設定せずとも自動で行ってくれます。
メソッド毎にどこで、何のエラーが発生したかも自動でログに書き込んでくれる為、エラーが発生した場合デバッグを行わずとも該当箇所を発見することが出来ます。
このように使用しなくとも問題はありませんが、使用することで可読性を良くしたり、処理を省いたりと、本来時間のかかるようなコーディングが不要になります。
このFWは本体となる基盤に欲しいパーツを組み立てていくイメージです。
その為最低限のコーディングを行っていれば、プログラムとしては問題なく動作します。そこに、自分の欲しいパーツを加えていくことで要件を満たせるプログラムを作ることが出来ます。
しかし、メリットがある分デメリットもあります。デザイン面に自由度がなく、勝手が効かないという点です。先程も説明しましたが、このFWを用いる際は基盤にパーツを組み立てていく為、基盤が決まっています。基盤を自分で自由に変えたり、新しく作ったりということは基本的にしておりません。
変更を加えた場合は今までのプログラムにどんな影響があるかを調査する必要がありますし、新しく作った場合は同じ要件を満たそうとした場合に多大な時間を必要としてしまいます。
上記のように決まったデザインでシステムを作ることしかできず、またデザイン性がある基盤でもありませんので、そこはデメリットのように感じています。
まとめ
メリットとデメリットについてのお話をしましたが、実際に開発を行って感じたのはメリットの方が大きいということです。
案件内でFWを使用せず、同じ要件で開発を行う機会がありましたが、同じ要件を満たそうと思うとコーディングの量が圧倒的に違いますし、何より知識がないとコーディング出来ない箇所が多々あります。
今は便利な時代ですので、調べることで実装は可能ですが、調べる時間や書き込む量を考えてもFWは非常に便利であると感じました。
このFWは私が入社する何年も前から存在しているスリープラスの作成したFWですので、今後とも製作者に感謝しながら開発を行っていきます。