deha magazine / モバイルアプリ開発
モバイルアプリ開発
ローコードプラットフォーム Mendixとは?仕組みや特徴をご紹介
Mendixは、アジャイル開発を行っている企業にもおすすめのローコードプラットフォームです。 近年はDXが重要視されるようになりエンジニア不足が問題になっています。 その中でローコード開発ならエンジニアではない人でもプログラミング技術不要で、シームレスに開発が行えるということで注目されるようになりました。 今回はそんなローコードプラットフォームMendixについて紹介していきます。 Mendixが気になる方 プログラミング知識がない方 アプリ開発初心者の方 社内の業務をITの力を使って効率化させたい方 これらに当てはまる方におすすめの記事となっています。これを読めばMendixがどんなシステムなのか、どんな特徴があるのかなど丸わかりですよ。 ローコードプラットフォームとは ローコードプラットフォームとは、プログラミング言語によるコーディングに代わり、ビジュアルモデリングにより構築を行う環境のことを指します。 アメリカのフォレスターリサーチ社が2014年に誰でも開発が行えるプラットフォームを称して利用したことから世の中に広まりました。 すでに完成された機能を組み合わせて開発を行うので、開発者ではない人でもアプリ開発が可能ということで注目されるようになったのです。 特に近年はDXが重要視されるようになり、企業文化やビジネスプロセス全体からデジタル化を行い競争力をつけていく必要があります。 しかしその一方で、多くの企業がDX化戦略を取ることによって、それだけのエンジニアを確保することが難しいのが現状です。 そういった時代背景もあり、ソフトウェア開発者ではない現場担当などでも開発を行えるローコードプラットフォームが企業の業務効率化に無くてはならないものになっているのです。 Mendixとは Mendixはアイディア(要件)、デプロイ、運用、アプリケーションなど開発ライフサイクル全体が加速されるように設計されたローコードプラットフォームです。 2005年に設立、2016年にIBM、2017年にSAPとグローバルリセラー契約を提携し各会社のクラウドサービス上で展開されるようになりました。 2018年シーメンスの傘下に入ったことで、より広範囲のローコードプラットフォームとして活躍しています。 そんなMendixはアジャイル開発とDevOps両方を活用したいという要望に応えることができ、営業担当を開発に巻き込むことによって、開発スピードを加速することができます。 今までの開発手法では、作りたいツールをわざわざ会社の開発部門に依頼をし、開発した成果物に対してチェック、改善依頼をしていかなければいけませんでした。 しかし、ローコードなら開発担当を通す必要がなくなるので、欲しい機能をすぐに実装することができるのです。 ここからはMendixの特徴について、アイディア(要件)、デプロイ、運用と順を追って説明したいと思います。 アイディア(要件) Mendix Developer Portal を利用することで、開発プロジェクトの要件管理を行うことができます。 具体的にはスクラム開発で使われる Sprint やUser story などの管理やエンドユーザーからのフィードバック管理など。 開発・テスト Mendix Studioを使用することで、視覚的にアプリの開発が行えます。Mendixのアプリケーションにおける基本的なUIはPageと呼ばれます。Widgetと呼ばれるUIの構成要素をPageに配置することでレスポンシブな画面を設計することができます。 レビューや共同作業も可能なので、より効率的に開発を行うことができますよ。 またJavaやJavaScriptの知識があれば機能の拡張も可能。これがノーコード開発とローコード開発の大きな違いとなっています。 合わせて読みたい>>ローコードプラットフォームとは?ノーコードとの違い、特徴をご紹介 プロダクトオーナーやスクラムマスターの場合、Mendix Developer Portalでユーザーの要求やエンドユーザーのフィードバックを管理することも可能です。 デプロイ・運用 Mendixではワンクリックでクラウド環境やオンプレミス環境にデプロイが可能です。Mendixはローカル環境でもアプリケーションの実行が可能ですよ。 Mendix CloudはCloud Foundryの技術に基づくPaaSベースのクラウドです。 開発者がアプリを直接ユーザーに提供することができます。つまりアプリの開発や保守までもをサポートすることができるのです。 Mendix導入のメリット モデル駆動 Mendixはモデル駆動のため、データモデルやアプリケーションのロジック、UIなどをビジュアルモデルによって定義します。 これにより開発担当者でなくても開発が行え、開発工数や期間を大幅に省略することができるのです。 他システムとの連携 既存のシステムやAI、IoTなど最新技術との連携もMendixなら可能です。 […]
続きを読む >>
ベトナム人エンジニアに聞く!Flutter開発最新事情
Flutterは現在世界的にトレンドの開発言語です。 FlutterはGoogle社が開発したフレームワーク。iOS・Android・Web全てに共通した優れたUIを一度に作ることが可能です。デザインの自由度も高く、簡単にUIを開発することができます。 当記事ではそんな「Flutter」の活用を得意としているベトナムのオフショア開発会社「DEHA」のエンジニアにインタビューし、Flutterを活用した開発に関して生の声をお届けします。 Q.自己紹介をお願いします DEHAエンジニアのグエン・ティエン・ドゥンです。27歳。3年以上のモバイルプログラミングの経験があります。Android、iOSのアプリの開発が得意です。開発言語はReact Native、Flutter、NodeJSを書いています。趣味はサッカーとゲームです。 Q. 普段の業務を教えて下さい チームとスクラム定例会を行います。日常のタスクを計画し、作業時間を調整します。他のチームメンバーの技術的な問題を解決することをサポートします。 Q. Flutterのスキルはどのような方法で学習しましたか? 私はFlutterとDartを2年間くらい経験しました。ReactNativeを使った経験があるので、Flutterの学習に切り替えるのは問題ないです。学習形式:widget、navigation、animationなどに関するFlutterのcookbook、ドキュメントを自己読み取ります。BLOC、provider、riverpod、GetXなどの一般的な状態管理及びMVVMのような基本的なアーキテクチャを独学します。そこから、実際のプロジェクトに適用できるDEHAのプロジェクトベースを構築します。 Q. Flutterの開発スキルを向上する為にやっていることがあれば教えて下さい。 Flutterの勉強と作業中に、FlutterのYoutubeチャンネルをフォローしています。 Flutterが推奨する優れたWidgetまたはPackageを更新するための「Package of the week」セクションがあります。 その上で、pub.dev(Flutterライブラリを含むWebサイト)で多くのいいねを使用してライブラリを更新します。 アプリのパフォーマンスを向上させる方法を見つけます。 Q. Flutterでの開発経験について教えて下さい Flutterを使用した2年間のアプリ開発経験について: 各アーキテクチャのプロジェクトベースを構築および展開する方法に関して把握してます。 コードの整理、widgetの整理、状態の管理、ネイティブコードのリンク管理、単体テストなどの方法を取得しました。 ヘルスに関して人気パッケージ(Apple Health、Google Fit)やアプリ内購入(In App purchase)や通知処理などを扱った経験があります。 アプリケーションを構築して、AppStoreとGoogle Play Storeにプッシュした経験があります。 Q. Flutterで開発して良かったことを教えて下さい まず、Dart言語(oop言語)は非常に明確できついです。 Dart言語はAndroidをコーディングするときのKotlin言語に非常に似ているので、興味が深くあります。 FlutterはReact Nativeと比較して、アニメーションを非常にスムーズに処理します。 以前、コミュニティはそれほど多くありませんでしたが、現在はFlutterのコミュニティが成長しています。クロスプラットフォームの開発になる可能性があります。(Flutterの未来について明るいと思います。) 多くの美しく使いやすいwidgetをサポートします。 Kotlin(android)およびSwift(iOS)のコードサポートは非常にアクセスしやすいです。 React Nativeの場合、ネイティブコードはObjectiveCになります。これは、開発者にとってアクセスが難しい言語です。 ホットリロードおよびデバッグをサポートしますので、非常に便利です… 私の個人的な経験によると、apkファイル(android)とipa(ios)をビルドする時間はReactNativeよりも高速です。 Q. Flutterで開発する際の課題があれば教えて下さい。また、その課題をどうやって解決したか教えて下さい。 Flutterの課題。 FlutterはReactNativeのようなCodePushをまだサポートしていません。。 UIはネイティブUIとは独立に記述されているので、かなりメモリを消費していると感じています。 上記の2つの客観的な課題に加えて、大きな問題はないと思います。将来的には、Flutterの開発チームがFlutterの現在の欠点を改善することを期待します。 Q. Flutterでの開発において、品質を高める為に工夫していることがあれば教えて下さい。 […]
続きを読む >>
Flutter入門!基礎知識と学習方法
FlutterとはGoogleが開発しているモバイルアプリ用のフレームワークです。 1つのフレームワークでマルチプラットフォーム対応ができるので、学習コストも低くこれからプログラミングを始めたいと思っている方にもおすすめです。 この記事ではそんなFlutterに関して初心者向けに基礎知識や学習方法を紹介していきます。 Flutterを始めて知った方 Flutterを学習したいと思っている方 アプリ開発がしたい方 これらに当てはまる方におすすめの記事となっています。これを読めばFlutterとはどんなフレームワークなのか、どうやって学習すれば良いのかが丸わかりですよ。 Flutterとは Flutterとは2018年にGoogleが開発したモバイルアプリ用のフレームワークです。UI開発をサポートするデザインパーツが多数あり、少ない作業でUIを構築することが可能です。 2019年5月にはFlutterの新機能「Flutter for Web」が発表され、マルチプラットフォームに対応することができるようになりました。 通常、デバイスをまたいで同じ言語で開発を行ってしまうとプラットフォームごとにデザイン・描画などの差が出てしまいますが、Flutterでは1度の開発でマルチデバイスに対応することができます。 Flutterのより詳しい概要はこちらの記事を参考にしてください。 合わせて読みたい>>Flutter(フラッター)とは?特徴とメリットを解説【アプリ開発】 開発言語はDart Flutterの開発言語は「Dart」です。DartはJavaScriptの代替言語として登場したため、文法がJavaScriptに似ています。 そのためJavaScriptを学習したことがある人なら、学習へのハードルは高くありません。 Flutterのインストール方法 ここからはFlutterへのインストール方法を紹介していきます。Flutterを利用するためには、いくつかダウンロードを行う必要があります。 Flutter SDKをインストールする Flutter SDKはこちらから入手することができます。zipファイルを解凍し、任意のフォルダに配置しましょう。 続いて、環境変数「Path」を更新、システム環境変数の編集を呼び出します。コントロールパネルから開くことができますよ。 システムのプロパティダイアログが表示されたら、環境変数をクリックします。その後、ユーザー環境変数から、変数が「Path」となっているところをクリック、編集を行います。 編集画面で、「[Flutter SDKの格納パス名]\flutter\bin」を入力しましょう。 Android Studioのインストール Android StudioをインストールすることでDartのエディタを利用することができます。 Android Studioのインストールは公式サイトから可能です。ダウンロードしたファイルをダブルクリックすることで、インストールが始まります。 Android SDKのインストール Android SDKのインストールはAndroid Studioを起動するとスタートします。セットアップウィザードの画面が表示されたら「Next」をクリックします。 次にnstall Type画面が表示されます。こちらはStandardを選択しましょう。次のSelect UI Themeは途中で変更も可能なので、好きな方を一旦選択しておけばOKです。 インストールが完了したら、システム環境変数の編集を行います。手順は先ほどと同様です。 Flutterのセットアップ コマンドでflutter doctorと入力すると環境構築が完了しているかどうか、何が必要かが表示されます。 コマンド実行後、チェックマークが入っているものは環境構築の準備が完了していることを示しています。一方、ビックリマークやバツマークが表示されているものは、環境構築が完了していないという意味になっています。 これらを修正していきましょう。 Flutterの学習方法 ここからはFlutterのおすすめ学習方法を紹介します。 Webサイト Flutterについて解説しているサイトで学習することができます。ただし、Flutterは新しいフレームワークということもあり、他のフレームワークと比べると日本語で解説しているサイトは少ないのが特徴です。 英語サイトを翻訳するなどと言った工夫が必要です。 Udacityの講座 […]
続きを読む >>
FlutterとFirebaseを使ったアプリ開発をご紹介
アプリ開発に便利なFlutterとFirebaseをご存じでしょうか。 どちらもGoogleが提供していて、便利なものとなっています。 今回はそんなFlutterとFirebaseに関して、その特徴やアプリ開発の事例を徹底解説していきます。 アプリ開発を行いたい方 Flutterが気になる方 Firebaseが気になる方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばアプリ開発を簡単にする秘密がわかりますよ。 Flutterとは Flutterとは2018年にGoogleが開発したモバイルアプリ用のフレームワークです。UI開発をサポートするデザインパーツが多数あり、少ない作業でUIを構築することができます。 通常、デバイスをまたいで同じ言語で開発を行ってしまうとプラットフォームごとにデザイン・描画などの差が出てしまいますが、Flutterでは1度の開発でマルチデバイスに対応することが可能です。 Firebaseとは Firebaseは2011年にFirebase社によってスタートし、2014年にGoogleに買収されたサービスです。 mBaaSと呼ばれるモバイルアプリ開発のバックエンド側のインフラを提供し、バックエンドの開発を抑えて、アプリケーション側の開発に集中させることができます。 FlutterとFirebaseを使ったアプリ開発 ほぼ日の學校【Flutter】 ほぼ日の學校は手帳で人気のほぼ日が2021年6月よりスタートさせた動画コンテンツです。Flutterを採用して、iOS・Andoroidの双方に対応可能のアプリをリリースしました。 REQU【Flutter】 サイバーエージェントが運営するAmeba内で個人のスキルや特技などを販売するプラットフォームがREQUです。 REQUはFlutterの導入により、iOSとAndroidのエンジニアリングを共通化することができるようになりました。 Kubota Diagnostics【Flutter】 建機・農機メーカーのクボタが販売代理店向けに提供する3Dモデル・ARを活用した故障診断アプリがKubota Diagnosticsです。 開発にFlutterを採用することで、マルチデバイスへの対応を可能にしました。 Ginco【Firebase】 仮想通貨ウォレット アプリGincoはFirebaseを使って開発が行われています。仮想通貨は管理する人がいないブロックチェーン上の資産のため、ハッキングなどには特別注意をしなければなりません。 そこで、Gincoのような仮想通貨ウォレットアプリでは、ユーザー一人一人に割り当てられる認証コードをスマホ内に保存しセキュリティ面で強固なシステムになっているのです。 そんなGincoではCloud Functions for FirebaseやFirebase Authenticationを利用しています。 Cloud Functions for Firebaseは、写真や動画などを保存することができる機能です。保存先はCloud Firestoreで、Firebase と Google Cloud 両方からアクセスすることが可能です。 Cookin’【Firebase】※2018年にサービス終了 Cookin’とはクックパッドが提供する料理動画撮影アプリです。手順ごとに3秒間動画を撮ることで1本の料理動画を投稿することができます。 他にも、投稿から斬新なアイディアを吸収したり、コメント欄から料理のコツやポイントを質問することも可能です。 Cookin’で利用されているFirebaseの機能は以下の通りです。 Firebase Authentication Cloud FIrestore for Firebase Cloud Storage […]
続きを読む >>
Flutter on the webとは?特徴やメリットを紹介
FlutterはiOS・Androidなど全てに共通した優れたUIを一度に作ることができるフレームワークですが、そんなFlutterはWebアプリでも利用することができます。 それがFlutter on the webです。つまり1つのFlutterのソースコードでiOS・Android・Webアプリを同時に作ることが可能なのです。 本日はそんなFlutter on the webとFlutterについて、その特徴やメリットなどを紹介していきます。 Flutterが気になる方 Flutter on the webについて知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばFlutter on the webがどんなフレームワークなのか、どんな人に向いているのかなどが丸わかりですよ。 Flutterとは Flutterとは2018年にGoogleが開発したモバイルアプリ用のフレームワークです。UI開発をサポートするデザインパーツが多数あり、少ない作業でUIを構築することができます。 通常、デバイスをまたいで同じ言語で開発を行ってしまうとプラットフォームごとにデザイン・描画などの差が出てしまいますが、Flutterでは1度の開発でマルチデバイスに対応することが可能です。 Flutter on the webとは Flutter on the webは2021年3月にFlutter2として公開されました。Flutter on the webを使えばWebアプリもiOS・Androidなどと同じように作成が可能です。 ここでは、そんな Flutter on the webの特徴や機能を紹介します。 DartからJavaScriptに変換 Flutter on the webではDartという開発言語を使って、JavaScriptに変換したコードをブラウザ上に動かしています。この変換はDartのdartdevc と dart2jsでコンパイルして実行を行います。 これらのコンパイラーはwebdevとともに使われ、正しいものが選択されるようになっています。 具体的には、アプリ開発を行うときはすぐに結果が見れるようにdartdevcが選ばれるようになっていて、展開のためにアプリを構築するときは効率的なコードを作るためにdart2jsが選ばれるのです。 HTML・Canvas・CSSで描画処理 iOS・Androidなどと同じUIになるように、HTML・Canvas・CSSなどを使って描画処理を行っています。 この描画処理は大きく分けて2つのパターンがあります。 HTML・CSSを使った描画方法 Canvasを使った描画方法 HTML・CSSのみで描画できる場合は①が適用され、そうでない場合は②が適用されます。①は<flt-dom-canvas> タグとして描画され、②では<flt-canvas> タグとして描画されます。 JavaScriptのコードにアクセスする […]
続きを読む >>
Firebaseとは?出来ることと活用メリットをご紹介
Firebaseはスマホアプリ開発やWebアプリ開発などのバックエンドのサービスを構築できるプラットフォームです。 無料で利用できるのもかかわらず様々な機能を利用することができます。 今回はそんなFirebaseについて紹介していきます。 Firebaseが気になる方 スマホアプリ開発を行いたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばFirebaseの機能や、活用するメリットなどが丸わかりですよ。 Firebaseとは? FirebaseとはGoogleが提供しているモバイル、Webアプリケーション向けのプラットフォームのことを指します。 開発者はアプリケーションの開発に専念でき、バックエンドで動くサービスを作成する必要も管理する必要もありません。 大規模なアプリケーションも構築することができ、様々な機能を活用することも可能です。 料金プランは2種類あります。Sparkプランでは無料で利用することが可能です。機能によっては制約があるものもあるので、注意が必要です。 Blazeプランは従量課金制のプランです。認証回数やデータの取得回数によって課金がなされます。 Googleが提供している大規模アプリの料金計算シミュレーターがあるので、どれくらいかかるのかを事前に調べておくことをおすすめします。 Firebaseでできること Firebase Analytics Firebase AnalyticsはGoogle Analyticsの機能が利用できる分析ツールです。 ユーザーの行動はもちろん、広告の効果や課金状況、個別のイベントなどを分析し、レポートを発行することができます。 Firebase Cloud MessagingやFirebase Crashlyticsと連携して利用することも可能ですよ。さらにFirebase SDKを追加すると、自動でデータの収集も行えるので、導入にあたり設定を行う必要もありません。 Firebase Hosting スタティックなWebページを公開することができます。HTML、CSS、JavaScript を使う程度のWebサイトであれば、サーバーを用意しなくても簡単に公開することが可能です。 アプリ内に作るほどではないページなどをWebページとして高速で配信することができますよ。 Firebase Cloud Messaging プラットフォーム間で動いているアプリケーションに対して無料でメッセージを送る機能です。 iOS や Android など異なるデバイス間でも送受信ができ、セグメントごとにメッセージを送信することも可能です。送信したメッセージはダッシュボード上でモニタリングすることもできますよ。 Cloud Functions for Firebase 写真や動画などを保存します。保存先はCloud Firestoreで、Firebase と Google Cloud 両方からアクセスが可能です。 Firebase Authentication 認証システムをアプリに組み込むことができる機能です。 メールアドレスやパスワード、電話番号や各種SNSの認証情報を活用して、ユーザーのID発行などを実装することができます。 認証システムはアプリ開発においてニーズがある機能ですが、認証方法を増やすことでコストや手間がかかります。しかし、Firebase Authenticationならコストや手間を抑えて安全にユーザー認証のUIを実装することができるのです。 […]
続きを読む >>
Flutterの将来性は?世界のトレンドを解説【スマホアプリ開発】
結論から申しますと、Flutterの将来性は高く現在世界的にトレンドになっています。 そもそもFlutterはGoogle社が開発したフレームワークのことで、iOS・Android・Web全てに共通した優れたUIを一度に作ることが可能です。 デザインの自由度も高くパーツを組み合わせることで、簡単にUIを開発することができるのです。 この記事ではそんな注目のFlutterの将来性に関してより具体的に解説をしていきます。 Flutterが気になる方 モバイルアプリを開発したい方 モバイルアプリ用のフレームワークを知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばFlutterの将来性はもちろん、スマホアプリ開発における世界のトレンドが丸わかりですよ。 Flutterとは Flutterとは2018年にGoogleが開発したモバイルアプリ用のフレームワークです。 通常モバイルアプリ開発では、iosとAndroidそれぞれに対応させる場合、それぞれで開発が必要です。 しかし、Flutterでは入力したコードをiOSとAndroid両方に対応するよう変換をしてくれるので、一度の開発で両方のOSに対応したシステムを開発することができるのす。 これにより開発の時間を大幅に短縮することができるのです。 合わせて読みたい>>Flutter(フラッター)とは?特徴とメリットを解説【アプリ開発】 Flutterの将来性 2021年時点の状況を踏まえて分析すると、Flutterの将来性は高いと言えそうです。その理由は以下の通りです。 理由①2021年3月にFlutter2がリリース 理由②世界的なトレンドになっている 理由③マルチデバイス環境の浸透 理由④学習コストが小さい それぞれ解説します。 理由①2021年3月にFlutter2がリリース 2021年3月にFlutterの新バージョン、Flutter2が公開されました。このアップデートで、モバイルだけでなく、「Web」「組み込み」「デスクトップ」など、さまざまな開発にも対応する、マルチプラットフォーム化が実現しました。 これまでもクロスプラットフォームに対応した言語はありましたが、Flutter2はより汎用性が高く、現存するほぼ全てのプラットフォームに対応することが可能なのです。 理由②世界的なトレンドになっている Flutterは世界的にもトレンドになっています。実際、Playストアだけでもすでに15万以上のFlutterで開発されたアプリがあります。Googleでも1000人を超えるエンジニアがFlutteを利用しています。 特定の期間内にどういったキーワードが数多く検索されているのかを調べるGoogleトレンドでは、中国・アメリカ・インドなどのIT大国で右肩上がりの傾向を示しています。 さらに、TOYOTAでもFlutterが採用されることが発表されたのです。TOYOTAとの提携により、Flutterを用いた車載システムが開発されることになります。 理由③マルチデバイス環境の浸透 Flutterは1つの開発で、PC・スマートフォン・タブレット・ゲーム機・IoTデバイスなど複数の環境で利用することが可能です。 通常、デバイスをまたいで同じ言語で開発を行ってしまうとプラットフォームごとにデザイン・描画などの差が出てしまいます。 PCでは表示されているものがスマートフォンでは表示されていないなど、小さな違いかもしれませんが、それによりユーザーの満足後が低下してしまう恐れもあるのです。 こうした心配がなく、1度の開発でマルチデバイスに対応することが可能なFlutterでは、より効率的に、スピーディーな開発が実現します。 理由④学習コストが小さい FlutterではDartという言語を用いて開発を行います。 DartはJavaScriptの後継言語を目的に設計されているため、JavaScriptの問題点を解決し、セキュリティ面なども強化された言語になっています。 そのため、JavaScriptと同じような文体を利用していて、JavaScript学習者はもちろん、プログラミング初心者でも扱いやすい言語となっています。 Flutterはこんな人におすすめ JavaScriptを学んだことがあるエンジニア 先ほども言ったようにFlutterの開発言語Dartは、JavaScriptと似ているため、時間がある方は合わせて学ぶのをおすすめします。 まだまだ日本語の情報は少ないので、英語で情報収集していく必要がありますが、JavaScriptと用途も似ているので、扱いやすいと思います。 アプリケーション開発を行いたい方 アプリケーション開発を行いたい場合は、マルチプラットフォームが実現するFlutterは非常に使い勝手が良いフレームワークです。 マルチプラットフォームのFlutterを学べば、参画可能なプロジェクトの幅も広がるためエンジニアとしての経験も積み上げやすくなります。 まとめ いかがでしょうか。Flutterは1つの開発で様々なデバイスに対応させることができるフレームワークでしたね。 このようなマルチプラットフォーム化は今後のアプリ開発のトレンドであり、実際にFlutterは世界的にもトレンドになってきています。 JavaScriptを学んだことがある人なら学習コストも低いので、今後ますます注目されていくことでしょう。 ぜひそんなFlutterを活用してアプリ開発をしてみてはいかがでしょうか。 「自分で開発するのはちょっと…」という方や「社内のIT人材がいない方」などは、開発を外注してみるのもおすすめです。 dehaでは本日紹介したFlutterを利用した開発実績が豊富な技術者集団です。 ラボ型開発(「お客様専属の開発チーム」を準委任契約にて提供する開発形態)で外注先というよりは社員らしくプロジェクトに関わることで高いパフォーマンスを発揮します。 Flutterのスキル・実績を持ったIT人材をお探しの方は、外注と採用の良いとこ取りをした人材調達サービス「チョータツ」をご覧下さい。
続きを読む >>
【比較】Androidアプリ開発におけるjavaとKotlinの違い【オフショア開発】
Androidアプリを開発する際によく利用される言語として、javaとKotlinがあります。どちらもセキュリティ面に強く人気がありますが、それぞれどんな違いがあるのでしょうか。 そこでこの記事ではjavaとKotlinについて、希少性や年収、求人数など徹底比較していこうと思います。 これらに当てはまる方におすすめの記事となっています。これを読めばどちらの言語を勉強すればいいのか、どちらの言語で開発するのがおすすめなのかなどAndroidアプリ開発に重要な情報が丸わかりですよ。 javaとは javaは世界中の基幹システムで利用されているプログラミング言語です。習得したい言語として1位を記録するほどに実績のある言語です。 javaはjava内の仮想マシン上で実行される仕組みになっているため、ハードウェアやOSに依存されないというメリットがあります。 そのため、Androidアプリ開発はもちろん、業務システムなどにも多く利用されています。javaを習得すれば幅広いシステム開発を行うことができるのです。さらにセキュリティ性の高いプログラムの実現可能なのです。 また、javaには豊富なライブラリがあります。例えば画像処理にはOpenCV、CSVの読み込みにはSuper CSV、クラスオブジェクトとJSONデータとの変換にはJacksonなどなど。 javaを利用しているサービス java はOSに依存しないためさまざまなサービスで利用されています。有名なサービスで言うと以下の通りです。 セキュリティ性の高いプログラミング言語であることから、javaはみずほ銀行の勘定系システムや三菱UFJ銀行の市場系取引のリスク計算システムなど多くの金融機関のシステム開発にも利用されています。 Kotlinとは KotlinはJetBrains社で開発された、オブジェクト指向プログラミング言語です。 javaとプラットフォーム非依存性を保ちつつ、より簡単に書けるように現代的な言語仕様が多く取り入れられています。 javaのソースコードをそのままKotlin内で利用することができます。もちろんKotlinのコードをjavaに変換することも可能です。 そのため、javaを利用していた企業がKotlinに移行するのも、そこまで難しくはありません。 2017年に正式なAndroidアプリの開発言語として選定された新しい言語でもあるため、書きやすい文法的な工夫がされています。 Kotlinを利用しているサービス Kotlinは主にアプリ開発の場面で利用されることが多いですが、ニュースサイト等のWebサービスも構築が可能です。 java・Kotlin比較 javaとkotlinを比較すると以下のようになります。それぞれの項目について解説していきます。 希少性 難易度 開発速度 コンパイル時間 拡張機能 年収 求人数 java 低い 普通 kotliに比べると遅い ほぼ同じ サポートなし 高い 多い kotli 高い 易しい javaに比べ速い ほぼ同じ サポートあり 高い 普通 希少性で比較 javaは世界中で多くの人が利用している言語である一方、Kotlinは比較的新しい言語でもあるため学習者がjavaに比べると少ないのが特徴です。 もちろん注目の言語ということもあって使用するエンジニアも急速に拡大はしているものの、まだまだ希少性は高く、Kotlinを書ける人材は重宝されます。 まだまだ求人数は少ないですが、アメリカではjavaを越す勢いとなっています。日本でもjavaにかわる言語になることでしょう。 難易度で比較 難易度の違いに注目すると、Kotlinの方が簡潔に記述することができます。 Kotlinはもともとjavaをより簡単にするために作られた言語です。 Kotlinとjavaで同じ処理を行う場合、Kotlinはjavaよりもコード数を少なく済む場合が多くあります。 またjavaではNullというエラーが多く出てしまうといったような問題がありますが、Kotlinはその問題にも対応していて、より安全になるように設計がされています。 […]
続きを読む >>
Flutter(フラッター)とは?特徴とメリットを解説【アプリ開発】
Flutter(フラッター)はiOS・Android・Web全てに共通した優れたUIを一度に作れるモバイルアプリ用のフレームワークです。 初心者でも扱いやすく、開発スピードをあげることができるという特徴があります。 この記事では、そんなFlutter(フラッター)について、特徴からメリット・デメリットまで徹底解説をしていきます。 Flutter(フラッター)の特徴が知りたい方 モバイルアプリを開発したい方 モバイルアプリ用のフレームワークを知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばFlutter(フラッター)にはどんな特徴があるのか、どんな人に向いているのかなどが丸わかりですよ。 Flutter(フラッター)とは Flutter(フラッター)とは2018年にGoogleが開発したモバイルアプリ用のフレームワークです。 今やモバイルアプリは重要な存在となっています。 現代はスマホを持っているのが当たり前となり、ユーザーがスマホを使っている時に接触する時間を取れるかがビジネスにとって影響力を持っているからです。 そんなモバイルアプリ用フレームワークの中でも、Flutter(フラッター)はUI開発をサポートするデザインパーツが多数あるため、少ない作業でUIを構築することができます。 開発効率を上げたいエンジニアにとっておすすめのフレームワークと言えます。 そんなFlutter(フラッター)の大きな特徴の1つは「Dart」という言語を使って開発を行う点です。 「Dart」で作った1つのコードを、iOS・Android・Web用に変換することで、1つのソースコードから多くのプラットフォームで動作するUIを作れるという仕組みです。 合わせて読みたい>>2021年版 モバイルアプリ開発フレームワーク 5選 「Dart」とは Flutter(フラッター)の特徴の1つである「Dart」は2011年10月に公開されたWebブラウザ組み込み用のスプリクト言語です。 JavaScriptの後継言語を目的に設計されているため、JavaScriptの問題点を解決し、セキュリティ面なども強化された言語になっています。 「Dart」は、聞き慣れない言語と思われるかもしれませんが、JavaScriptを学んだことがある方はもちろん、プログラミング初心者にも扱いやすいです。 JavaScriptと同じような文体を利用していて、学習コストも高くないからです。 クラスベースのオブジェクト指向をサポートしていることから、大規模アプリケーション開発やサービス開発に向いています。 Flutter(フラッター)の特徴 Flutter(フラッター)では様々な開発ができる Flutter(フラッター)ではiOSとAndroid両方に対応したアプリケーションが開発可能だという特徴があります。 具体的には以下のようなアプリを開発することが可能です。 地図アプリ 業務効率化アプリ 画像編集アプリ マッチングアプリ ショッピングアプリ またスマートフォン向けアプリだけでなく、Webアプリケーションも同じコードで開発が可能。 「モバイル」「Web」「組み込み」「デスクトップ」など、さまざまな開発に対応できるフレームワークと言えるでしょう。 1つのフレームワークでマルチプラットフォーム対応ができるので、学習コストも低くこれからプログラミングを始めたいと思っている方にもおすすめできるフレームワークです。 ホットリロード機能 Flutter(フラッター)の2つ目の特徴としてあげられるのは、ホットリロード機能です。 ホットリロード機能とは、コードを書いた時点でリアルタイムでアプリに変更が反映される仕組みのこと。 今まではコードを書いた後にアプリを再起動する必要があり、コードの変更を確認するのに数分かかることもありました。 しかし、このホットリロード機能を利用すれば、数ミリ秒から数秒でUIの更新が可能になるのです。 Flutter(フラッター)のメリット iOSとAndroidの両方に対応したアプリケーションが作成可能 先ほども紹介したように、Flutter(フラッター)ではiOSとAndroid、両方に対応したアプリケーションを作成することができるという特徴があります。 つまりクロスプラットフォームで動作させることが可能なのです。 通常、スマートフォンのアプリを開発する場合、OSによって言語を変えて開発を行います。そのため、iOSとAndroid、両方に対応したアプリを作る場合は、それぞれの開発が必要です。 しかし、クロスプラットフォームなら入力したコードをiOSとAndroid両方に対応するよう変換をしてくれるので、一度の開発で両方のOSに対応したシステムを開発することができるのです。 デザインの自由度が高い Flutter(フラッター)は「ポータブル・UI・ツールキット」と呼ばれるUIになっています。独自のデザインUIを使用できるため、デザインの自由度が高いと言われています。 かなりの数のUIパーツが提供されているので、それを組み合わせることで整ったUIを簡単に開発することができますよ。 Flutter(フラッター)のデメリット 日本語の資料が少ない Flutter(フラッター)は2018年にできたばかりの新しいフレームワークです。 学習者が増えつつあるものの、まだまだ日本語でのドキュメントが少ないが現状です。 必要な場合は英語のドキュメントなども確認していきましょう。 人材を集めにくい […]
続きを読む >>
Expo✕React Nativeの環境構築を行う【React Native入門】
React NativeはJavaScriptのコードのみでiOSとAndroid両方のアプリを開発することができます。JavaScriptの経験はあるが、アプリ開発の経験は無いというエンジニアにはとても便利なツールと言われています。 この記事ではReact Nativeを使ってアプリ開発を行っていく方向けに、Expoを利用した環境構築の仕方を紹介していきます。 Expoを利用することで簡単にReact Nativeの環境開発が可能ですよ。 合わせて読みたい>>【Mac編】ReactNativeを使って環境構築をする方法は?【JavaScriptのコードのみでアプリ開発】 React Nativeでの開発に興味がある方 JavaScriptを勉強していた方 React Nativeの環境構築を知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばReact Nativeの環境構築の方法がわかります。