Brighten up your day !!

PythonとAngularの組み合わせが最強な理由

PythonとAngularの組み合わせが最強な理由

+2

クロスプラットフォームは生産性が高い

 なにかをサービスインしようとしたとき、Androidだけ、iOSだけ、あるいはWebだけというのは片手落ちです。だからといってAndroid用にKotlinで開発し、iOS用にSwiftで開発し、そしてWeb用にも別個に開発など現実的ではありません。

 すでに大成功しているソフトならもちろんありですが、現実はうまくいくか保証のないまま開発し、なるべく多くのユーザーに使ってもらいながら成功につなげていきたいと考えると思います。だからこそ、クロスプラットフォームであることは特に個人や小規模の開発チームにとって必須のツールとなると考えています。

ここでは、フロントエンドとしてAngular,バックエンドとしてPythonという組み合わせがメリットの大きな組み合わせであることを解説します。

どこのプラットフォームを抑えるか

すぐに思いつくプラットフォームとしては、デスクトップ、スマホアプリ、Webです。

ユーザーは各プラットフォームに分散していますが、個人的にはWebとスマホアプリを抑えればほとんどカバーできると考えており、デスクトップアプリの優先度は低いと思っています。したがって、クロスプラットフォームの環境はUnity,Xamarin,Cordova,Ionic,React,Capacitorなどがあると思いますが、Ionic,React,CordovaなどのWeb系の技術が選択肢として残ります。

さらにそのなかでどのフレームワークが強いかをこちらの記事で考えたのですが、私の意見ではAngularが断然オススメです。

バックエンドはどうするか

Angularでフロントエンドを書くとするとバックエンドはどうすればいいでしょうか。TypeScriptが使えるのでnode.jsで書くのはもちろんいいと思います。PHPエンジニアもいると思います。

 ただ、わたしはバックエンドはPythonが好きです。もともとPythonがもっとも馴染みのある言語ということがありますが、バックエンドというのはデータ処理が少なからずあると思うのです。例えばAIを搭載したアプリケーションを開発する場合を考えた時、AIはほぼPython一択です。そうでなくても多くのデータ処理を実行する可能性は多いにあるため、node.jsでもなくPHPでもなく、バックエンドはPythonが汎用性が高いと考えます。Pythonで書いておけばカバー範囲が広いと思っており、バックエンドはPythonで作成したAPIで担当させておいて、AngularからそのAPIを叩いてデータ処理を行うというイメージです。

組み合わせるとどうなるか

 AngularをIonicで使用すると、見た目は完全にNativeになります。Nativeに比べると挙動が遅いということですが(https://developer.medley.jp/entry/2017/11/24/120000)、現在のスマートフォンの性能なら描写の多いゲームなどを除いてまったく問題ならないと思います。したがって、Ionicで開発しておけば、ひとつのプロジェクトをつくるだけでAndroid,Web,iOSのプラットフォームに高いクオリティでビルドできます。そしてバックエンドはPythonで受ける。これによって高い生産性と拡張性を備えたシステムが開発ができると考えているため、これが個人の開発や小規模でも開発を実施する場合私の考える最強の組みわせです。

榊原昌彦さんのコメント

とても共感したので、こちらの著者である榊原昌彦さんの冒頭の挨拶を引用させていただきます。

大きく変わったWebの価値Web技術で作ることができるプロダクトの選択肢は大きく増えました。Web Native開発フレームワークの「Ionic Framework」を使えば、Mobile Native,と同じようなUIとUXをユーザに提供することができます。クロスプラットフォームライブラリ「Capacitor」を利用すれば、Webアプリを「App Store」(iPhone/iPad) や「Google Play」(Android)で配信することができます。Google Chromeをはじめとしたインターネットブラウザも大きく進化しました。モバイルアプリ同等のUX(ユーザ体験)を提供することを目指して、今までモバイルアプリでしか実現できなかったプッシュ通知やオフラインでの表示、高精度GPSといった機能をWebで提供できます。また、「Electron」というWebアプリをデスクトップアプリにすることができるフレームワークが利用されるシーンも増えています。今では、WebアプリのプラットフォームはWebだけではなくなり、1つのプロダクトをiOS、Android、デスクトップへと、ハイブリッドに展開できるようになっています。Webとモバイルの境目がなくなりつつある多くのWebサイト、Webアプリではモバイルデバイスからのアクセス数が増え続けており、モバイルファースト(モバイルデバイスを利用するユーザを優先した設計)が当たり前になりつつあります。ユーザが、「ホーム画面に追加」という機能を使えば、Webをモバイルアプリのように利用できます。Webアプリとモバイルアプリの違いは、アプリストアからインストールするか、ブラウザからアクセスするかの違いになりつつあります。その中で、ハイブリッドに展開する大きなメリットは「そこにユーザがいるから」です。皆さんが作ろうとしているアプリのユーザは、Webブラウザをよく使いますか? Androidユーザが多いですか? もしかすると、App Storeでアプリを探すような人かもしれません。Webとモバイルの境目がなくなりつつある今だからこそ、プラットフォームに依存しない形であなたのアイデアを実現できることは大きな武器になります。

個人的にはこれにPythonを加えると最強だと考えています。

最後に

写真から文字情報を抽出して爆速でレポートや記事を作成するアプリを作成しています。無料なのでよかったらどうぞ。フロントエンドはIonicでCapacitorを使って開発し、バックエンドはGCPのApp EngineをPythonで書いてます。

iOS => https://apps.apple.com/app/id1497498494
Android => https://play.google.com/store/apps/details?id=com.rainbowsv2.ocr

+2

⭐️Brighten up your day with NP-Systems⭐️


  • GAEでPythonをデプロイする

    更新日時:2021年4月4日 21時17分

    0 2021年はPython37が良さそう.requirements.txtはpip3 listで表示されたものを書く. 0


  • Angular(Ionic)でHTTPリクエスト

    更新日時:2021年3月24日 18時23分

    0 AngularでバックエンドAPIへアクセスしてデータを取得する際、認証情報やクエリパラメータを付与したい時がある。 Post通信 Get通信 0


  • 3月15日AngularでAdsense

    更新日時:2021年3月15日 06時46分

    0 もう3月を中旬ですね。もう春ですね!Yoasobiに最高にハマっています。 昨日ようやくAngular(Ionic)でAdsenseを表示できるようになりました。 http://ocr-app.np-sys.com/…


  • Oandaのデモ口座における改悪について

    更新日時:2021年2月19日 08時06分

    0 2021年2月はじめに突然Oandaからメールがきて多くの改悪を行うということでびっくりしました。今までも一方的な変更が突然起こり辟易して来ましたが、今回の変化は大きすぎます。 【重要】デモ口座の利用期限およびオーダ…


  • 【oandapyV20】OandaAPIでオーダブック、ポジションブックを取得する

    更新日時:2020年12月7日 21時26分

    0 この記事ではoandapyV20を使ってオーダブック、ポジションブックを取得する方法について記載します。 oandapyV20では、オーダーブックをとるためにはoandapyV20.endpoints.instrum…


  • 【oandapyV20】OandaAPIで価格をStreaming配信で取得する

    更新日時:2020年12月8日 21時29分

    0 この記事ではoandapyV20を使ってStreaming配信でリアルタイムに価格を取得する方法について記載します。 Streaming配信は非常に便利であるものの、最大で250msごとのデータしか提供されませんので…


  • 【oandapyV20】OandaAPIでローソクを取得

    更新日時:2020年12月6日 20時46分

    +1 この記事ではoandapyV20を使ってローソクチャートを取得する方法について記載します。ローソクの長さ、取得データの種類、取得期間の指定方法なども含めて記載します。 oandapyV20では、PricingInf…


  • Adsenseの住所確認の日数と手順について

    更新日時:2020年12月4日 21時42分

    0 Google Adsenseでは、収益が1000円程度を超えると住所確認のために郵送でPINコードが発送されます。振り込み準備に向けて、これに印字された6桁の番号をAdsenseのHPで入力し、住所が正しいことを認証…


  • GAEでPythonをデプロイする

    更新日時:2021年4月4日 21時17分

    0 2021年はPython37が良さそう.requirements.txtはpip3 listで表示されたものを書く. 0


  • Angular(Ionic)でHTTPリクエスト

    更新日時:2021年3月24日 18時23分

    0 AngularでバックエンドAPIへアクセスしてデータを取得する際、認証情報やクエリパラメータを付与したい時がある。 Post通信 Get通信 0


this is single-default.php