ENECHANGE Developer Blog

ENECHANGE開発者ブログ

Flutter採用理由とFlutterで開発してみて

引き続き、EV充電サービス事業部の@yuyasatです。

前回は、EV充電サービスアプリ開発経緯についてご紹介いたしました。今回は、ネイティブアプリ開発にあたってなぜFlutterを採用したのか、Flutterを採用してみてどうだったのかというのを紹介したいと思います。

なぜFlutterを採用したのか

私はこれまでRailsを軸としながらフロントエンドはVue.js、開発のディレクション、AWSのインフラ周りをさわるなどしながら仕事をしてきました。Webの一連の技術に関しては詳細とまではいかないまでも大まかな概要はつかんできたなという実感があったので、2018年ごろ、プライベートで少しだけAndroidアプリの開発をKotlinで行っていました。その当時はプライベートで知見を広げるため程度での開発でしたが、Webと比べたらビルドにかかる時間も長いですし、iOSとAndroidをそれぞれ対応しないといいけないとなると、iOSアプリはSwiftで、AndroidアプリはKotlinで開発という形となり、スピード感をもって開発するのが難しいという印象を持ちました。クロスプラットフォーム開発では、当時はReactNativeやXamarinなどがありましたが、周りに話を聞くと結局はiOS、Androidそれぞれ開発しているという現場もあり、決定打に欠ける印象をもっていました。加えて仕事ではネイティブアプリ開発の機会はありませんでしたので、ネイティブアプリの開発に関してはあまり深く関わることはなくしばらく過ごしていました。

続きを読む

エネチェンジEV充電アプリリリース🎉

EV充電サービス事業部の@yuyasatです。

今年1月に昨年まで在籍していたエネルギークラウド事業部からEV充電サービス事業部に異動し、開発責任者としてエネチェンジEV充電のアプリを開発してきました。先月19日にアプリをリリースすることができ、エネチェンジでのネイティブアプリ開発をいかに立ち上げてリリースに至ったかを簡単にご紹介したいと思います。

エネチェンジEV充電アプリでできること

まず、エネチェンジEV充電のアプリでできることは、全国に設置されている充電器を検索することができ、エネチェンジEV充電サービスで提供している充電器に関してはアプリから充電の開始や停止、課金ができます。従来なら充電するためのカードをクレカ登録等と共に申し込んで充電器に併設されている認証システムにタッチして充電するという形でしたが、エネチェンジEV充電アプリを使えば、アプリをインストールし、クレジットカード情報を登録するだけで充電できます。

エネチェンジEV充電アプリ

続きを読む

Lambda関数URLを実戦投入してシンプルなリダイレクト処理を構築する(コスト編)

ENECHANGE所属のエンジニア id:tetsushi_fukabori こと深堀です。
東京の我が家で飼っているバーニーズマウンテンドッグは暑さでバターのように溶けて伏しています。
涼しい土地に広い庭付き一戸建てで健やかに過ごさせてあげたいですね。

今回は前回に引き続きLambda関数URLを実戦投入したときのコストについて考えます。

この記事の概略

  • AWS Lambdaの2022年4月の新機能「関数URL」を実戦投入しました
  • Route53 + CloudFront + Lambda関数URLでシンプルなリダイレクト処理を構成しました(前回実践編で紹介)
  • CloudFront functionやLambda@Edgeを使う場合と比較して小さいながらコストメリットがあることを整理しました
続きを読む

CloudFront Functions 関数でクエリ文字列を復元する

CTO室の岩本 (iwamot) です。「小ネタでも積極的に投稿する」をモットーとしております。

先日、Amazon CloudFront の CloudFront Functions を使って、HTTP リクエストのリダイレクト処理を実装しました。https://example.com/foo?key1=A&key2=B&key2=C へのリクエストを https://other.example.com/bar?key1=A&key2=B&key2=C にリダイレクトするだけの内容です。

しかし、実装の際、CloudFront Functions の関数にはクエリ文字列そのものが渡らないことを知りました。かわりに、解析後のオブジェクト ({key1:{value:'A'},key2:{value:'B',multiValue:[{value:'B'},{value:'C'}]}}) が渡ってきます。

今回の記事では、リダイレクトを実現するために採用した、クエリ文字列の復元方法をご紹介します。

続きを読む

Lambda関数URLを実戦投入してシンプルなリダイレクト処理を構築する(実装編)

ENECHANGE所属のエンジニア id:tetsushi_fukabori こと深堀です。お久しぶりです。
この4月から所属事業部がかわりました。
元はEMAPシリーズを提供しているエネルギークラウド事業部に所属して「アプリケーションエンジニア兼PM兼事業部内テックリード」という長い肩書を持っていましたが、今はCTO室という事業部で肩書のない一般社員をやっています。
インフラ管理なんかもCTO室の業務なので、なれないterraformをこわごわ触っている日々です。そのへんはまた別記事で。

この記事の概略

  • AWS Lambdaの2022年4月の新機能「関数URL」を実戦投入しました
  • Route53 + CloudFront + Lambda関数URLでシンプルなリダイレクト処理を構成しました
  • CloudFront functionやLambda@Edgeを使う場合と比較して小さいながらコストメリットがあることを整理しました(次回コスト編で紹介します)
続きを読む

案件固有の機能を開発していくためのリポジトリ戦略

EV充電サービス事業部の@yuyasatです。記事を書くのがだいぶ久しぶりになっていました。EV充電サービス事業部は2022年1月に発足した事業部で、マネージャーをしております。今回はEV充電サービス事業部の話ではなく、私が昨年まで在籍していたエネルギークラウド事業部のEMAPというサービスにおける課題およびその対応についてお話しさせていただきます。

背景と課題

EMAPは電力会社・ガス会社向けに特化したいわゆるVertical SaaSです。EMAPのサービス詳細については、EMAPのLPにお任せしますが、本記事では、開発当初から課題であった各案件ごとの対応についてお話させていただきます。

EMAPのクライアントには、古くから私たちに電気やガスといったライフラインを提供してくれている大手電力会社やガス会社がいます。業界ごとにその業界の慣習に合わせた形でサービスを開発しなければいけないように、提供先の会社毎に応じて個別に対応しないといけない箇所はどうしても出てきてしまいます。細かい例で言うとA社では「お申し込み」という文言にしたいが、B社では「お申込み」にしたいといった各社の他のホームページに合わせた文言統一などが挙げられます。

続きを読む