deha magazine / システム開発
システム開発
ローコードプラットフォームとは?ノーコードとの違い、特徴をご紹介
変化が激しい時代において、DX化が進められています。ビジネス要件に対してスピーディーに、そして柔軟な対応が必要ですが、そんな中ローコード開発が注目を浴びています。 ローコード開発とはソースコードの記述を減らし、GUIと呼ばれる完成された機能を組み合わせる開発手法のことを指します。 プログラミング知識がない方でもスピーディーに開発を行うことができるのです。 この記事ではそんなローコード開発やローコードプラットフォームに関して、メリットデメリットなども踏まえて徹底解説していきます。 ローコードプラットフォームについて知りたい方 プログラミング知識がない方 アプリ開発初心者の方 社内の業務をITの力を使って効率化させたい方 これらに当てはまる方におすすめの記事となっています。これを読めばローコードプラットフォームがどんなものなのか、どんな特徴があるのかなど丸わかりですよ。 ローコードプラットフォームとは ローコードとは ローコードとはアプリケーションの開発の際に、ソースコードの記述を減らすことができるものです。 従来の開発では高いプログラミング技術が必要でしたが、ローコードでは少ないコードで開発が可能です。つまり、初心者の方でも開発がしやすくなっています。 ユーザーが必要な機能を自由に組み合わせて実装することができる他、クラウド環境にもデプロイすることができるなどその柔軟性が特徴です。 「手間と時間がかからず開発が可能」という点ではWordPressに似ている部分が多くあり、WordPressをイメージしてもらうと想像がしやすいでしょう。 世間の需要に合わせて素早くシステム構築を行いたい 開発コスト抑えたい このような思いを持っている企業であればローコード開発はピッタリの手法だと言えるでしょう。 ノーコードとの違い ノーコードは全くコードを使用せずに開発を行う方法です。 一方、ローコードはユーザー側でコードを書くことができるので、ノーコードと違ってあらかじめ用意されている機能以外も、ユーザーで欲しい機能を自由に加えていくことができます。 ローコードプラットフォームとは ローコードプラットフォームとは、プログラミング言語によるコーディングに代わり、ビジュアルモデリングにより構築を行う環境のこと。 アメリカのフォレスターリサーチ社が2014年に誰でも開発が行えるプラットフォームを称して利用したことから世の中に広まりました。 ローコードプラットフォームにはGUIとよなれる完成された機能がパーツとして用意されていて、そのパーツをパズルのように組み合わせて開発を行います。 すでに完成された機能を組み合わせるため、開発者ではない人でもアプリ開発が可能です。 プログラミング言語でのコーディング環境は「開発ツール」と呼ばれますが、ローコードプラットフォームは、開発だけでなく完成したアプリの運用までの機能をサポートしているため、そのように呼ばれているのです。 DXが重要になった今、工数を減少、そして自動化できるということで注目を浴びています。 そもそもDXは2004年ごろにスウェーデンのウメオ大学で提唱された概念で、「ITの浸透が、人々の生活をあらゆる面でより良い方向に変化させる」という意味があり、デジタルシフトと呼ばれることもある言葉です。 経済産業省が出しているDX推進ガイドラインによると、DXは以下のように定義されています。 企業がビジネス環境の激しい変化に対応し、データとデジタル技術を使って、顧客や社会のニーズを基に、製品やサービス、ビジネスモデルを変革するとともに、業務そのものや、組織、プロセス、企業文化・風土を変革し、競争上の優位性を確立すること DX推進ガイドライン このようにビジネスにおけるDXは、単にデジタルツールを導入して効率化を図るだけでなく、企業文化やビジネスプロセス全体を変革し、競争力をつけることを指します。 多くの企業が次の時代を生き残るためにDX化に取り組んでいますが、多くのソフトウェアを開発できるだけのエンジニアを確保できていないのが現状です。 そこでIT知識があるもののソフトウェア開発者ではない現場担当などでも、簡単に開発を行えるローコードプラットフォームが注目されだしたのです。 主なローコードプラットフォーム ここでは主なローコードプラットフォームを紹介します。 Canbus Canbusは顧客管理や勤怠管理、プロジェクト管理などといった業務集約のためのローコードプラットフォームです。 Excelのようにアプリを作成することができるので、Excelを日常的に使っている企業におすすめです。 Microsoft PowerApps Microsoft PowerAppsはドラッグ&ドロップでスピーディーに開発が行えるローコードプラットフォームです。 Microsoft 365で提供されているサービスの1つ。サブスクリプション契約をしている方であれば無償で使うことが可能です。 Mendix Mendixは円滑なモバイルやWebアプリケーションを構築でき、継続的に改善することができるローコードプラットフォームです。要件から、デプロイ、運用までアプリの開発サイクル全体を加速できるよう設計されています。 Mendixではビジュアルモデルを採用しているので、コーディングは行わずノーコードツールのような感覚で開発をすることも可能です。テンプレートがあるので、ゼロから作る必要がないのも嬉しいポイントです。 そのためプログラミング知識が一切ない人でも気軽に開発を行うことができますよ。 ローコードプラットフォームの具体的な機能 ビジュアルモデリング ローコードプラットフォームではビジュアルモデリングによって、アプリを作ることが可能です。 ドラッグ&ドロップで画面に配置、設定するだけ。視覚的に開発を行うことで開発スピードを大幅に上げていくことが可能です。 再利用可能なコンポーネント […]
続きを読む >>
マイクロサービスアーキテクチャとは?メリット・デメリットを紹介
マイクロサービスアーキテクチャとはあるアプリケーションをビジネス機能に沿った複数の小さなマイクロサービスに分割して開発を行なっていく手法のことです。 これにより開発の効率化や、変更に柔軟に対応することができるようになります。 実際、AmazonやNetflixなどでも取り入れられているマイクロサービスアーキテクチャ。本日はそんなマイクロサービスアーキテクチャについて徹底解説していきます。 マイクロサービスアーキテクチャが気になる方 開発効率を上げたい方 ラボ型開発に興味がある方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばマイクロサービスアーキテクチャがどんな開発手法なのか丸わかりですよ。 マイクロサービスアーキテクチャとは? マイクロサービスアーキテクチャとはソフトウェア開発技法の1つで、ThoughtWorks社のマーチン・ファウラーとジェームス・ルイスによって提唱されました。 ビジネス機能に沿った複数の小さなマイクロサービスに分割し、それらを組み合わせて単一のアプリケーションを開発するアプローチのことを指します。 アマゾン CEO ジェフ・ベゾスが大きすぎるチームではメンバー間の意思疎通が困難になり生産性が低下すると「ピザ2枚ルール」を提唱していますが、マイクロサービスアーキテクチャはその考えをもとに作られたと言われています。 「ピザ2枚ルール」とは、チーム編成や会議において、無駄がなく生産性が高い人数の条件は、ピザ2枚を配りきれる程度の人数(8~10名程度)という考えのことです。 このピザ2枚を配りきれる人数によって、効率的で、各々のモチベーションも高く、またお互いをフォローしあえる状況にあるため、チームの団結力が強くなると考えられています。 実際、マイクロサービスアーキテクチャにより、迅速な開発や機能の改善、柔軟な拡張などが可能になります。 マイクロサービスアーキテクチャのメリット メンテナンスやテストがしやすい マイクロサービスアーキテクチャでは共有される部分を減らし、小さなサービスを開発、改善していきます。 メンテナンスやテストもそれぞれで 行うので、管理がしやすくなります。 ひとつのサービスが全体をダウンさせるようなことがない マイクロサービスアーキテクチャでは個々で開発を行うので、それぞれのサービスが独立をしています。そのため各サービスは違うプログラム言語で開発をしていても問題がありません。 だからこそ、単一のコンポーネントの中で障害が発生しても、他のコンポーネントに影響を与えることは少ないのです。 開発が柔軟になる 先ほども言ったように各サービスは違うプログラム言語で開発することができます。さらに、データモデルやデータベーススキーマなどもサービスごとに各個に設計をしていきます。柔軟な開発が可能になりますよ。 ちなみに、各チームで開発したものはREST APIやRPCによって通信して連携を行なっていきます。 マイクロサービスアーキテクチャのデメリット プロジェクト型の開発には向かない マイクロサービスアーキテクチャは変化に柔軟に対応できると言ったメリットがありましたが、こうした開発手法は持続的な開発や継続的にリリースに向いています。 そのため完成までに長い工期を要するプロジェクト型の開発にはあまり向いていません。アジャイル開発などの開発手法でマイクロサービスアーキテクチャが重要な役割を果たすことができると言えるでしょう。 合わせて読みたい>>【注目】アジャイル開発とは?オフショア開発に効果的!? サービス間のインターフェースが重要 お気づきかもしれないですが、マイクロサービスアーキテクチャで開発を行う場合、それぞれのチームで開発したものを連携させるインターフェースが重要になります。 単純にサービスを分割すればするほどインターフェースの数が増えてしまいます。複数回のネットワーク通信が発生することでシステムのパフォーマンスが劣化する可能性も。 また、サービス間を実際に結合して試験するためには、互いに実装がある程度成熟している必要もあるのです。 まとめ いかがでしたか。本日はマイクロサービスアーキテクチャについて、どんな開発技法なのか、どんなメリット・デメリットがあるのかなどを解説していきました。 マイクロサービスアーキテクチャでは小さな単位にサービスを分割することで、仕様変更に柔軟に対応でき、開発効率をあげることができました。 アジャイル型の開発を行なっているチームでは重要な役割を果たすに違いありません。ぜひ今回紹介したマイクロサービスアーキテクチャを自社システムにも取り入れてみてはいかがでしょうか。 dehaでは、5年ほど前から、ベトナムオフショア開発を行っています。 より詳しくマイクロサービスアーキテクチャについて知りたい方、オフショア開発について知りたい方はぜひご気軽にお問い合わせください。 お問い合わせはこちらから
続きを読む >>
WEBアプリの開発言語・フレームワークのトレンド【オフショア開発】
WEBアプリ開発をしたい場合、どのプログラミング言語を勉強するのがいいか迷う方もいらっしゃるでしょう。 沢山ある開発言語をただ闇雲に勉強しても意味がありません。 WEBアプリ開発に向いている言語とフレームワークを効率よく勉強することで、勉強時間を短縮することができるのです。 この記事では、そんなWEBアプリ開発におすすめの言語とフレームワークを紹介しています。 どの開発言語を学べばいいのか WEBアプリ開発に向いている言語は何か フレームワークって何? これらの疑問をお持ちの方はぜひ要チェックですよ。これを読めばWEBアプリの開発言語とフレームワークのトレンドがまるわかりです。 WEBアプリとは WEBブラウザーからアクセスすることができる、オンライン上で様々な処理を行うシステムをWEBアプリケーションと呼びます。 YouTubeやTwitter、食べログなどがこれに当たります。 名前は似ていますが、iOSアプリやAndroidアプリといったスマートフォンのアプリとは異なります。 iOSアプリやAndroidアプリはネイティブアプリと言われ、基本的に端末上のシステムを使って動きます。よって利用するには端末にアプリをダウンロードする必要があります。 またネイティブアプリはiOSとAndroidそれぞれで開発を行わなくてはなりません。 一方、WEBアプリは端末に縛られずに利用でき、クライアントアプリをインストールせずに使えるなどが特徴としてあげられます。 おすすめ開発言語 php phpはWeb向けに特化した言語です。ブログやホームページ制作を行うことができる WordPressもPHPで構築されています。 歴史も長く、世界でも人気のある言語です。国内でも利用者が10万人以上いると言われています。 仕様や文法が簡単なため学習がしやすく、Web開発環境として非常に高いニーズがあります。CMSやECサイト、SNSなどさまざまなジャンルのWebサイトに用いられています。 phpのフレームワークLaravel phpのフレームワークLaravelは、PHPフレームワーク「Symfony」をベースに開発され、2011年6月に公開されました。 比較的新しいフレームワークであることから、様々な言語のフレームワークの良いところをかき集めたようなフレームワークになっています。 シェアが高くなるにつれて、さまざまな国・言語で利用できるようコミュニティや情報サイト、書籍などが多く作られるようになってきました。 日本語に翻訳されているものも多く、基礎から応用まで幅広く学べます。日本語に翻訳されている学習サイトや教材もあります。 Laravelはオープンソースで先進的な機能が多く取り入れられています。自由度が高く、規約も少ないので幅広い開発ができるのが特徴です。 合わせて読みたい>>【大注目】世界No.1のPHPフレームワーク「Laravel(ララベル)」がスゴイ!【その特徴を大公開】 javascript javascriptはWEBアプリ上の動きを作ることができる言語です。 例えば入力フォームやポップアップ、スライドショー、画像の拡大表示などがそれにあたります。 静的なページよりも動的なページの方がスタイリッシュで見やすいこともあり、近年javascriptの需要が高まってきました。 現在、JavaScriptは、ほとんどのWebサイトで使われていますが、その他にもWebアプリ開発やスマホアプリ開発、ゲーム開発など様々なシーンで使われているのです。 他にもjavascriptならフロントエンド・バックエンドの両方で利用でき、利用者が多いことから学習コストも低いといったメリットがあります。 合わせて読みたい>>定番?WEBアプリ開発でJavaScriptを技術選定する3つの理由【スマホアプリも人気】 javascriptのフレームワークVeu.js javascriptのフレームワークVeu.jsは主にUIを作るために用いられており、ドキュメントの充実度や日本語情報の多さから、国内で人気の高いフレームワークとなっています。 拡張性も高く、Vue.jsで記述してる箇所に、他のフレームワークの処理を入れ込んだり、画面の一部だけをVue.jsで記述したりすることができるなど、かなり柔軟に使うことが可能です。 合わせて読みたい>>JavaScriptのフレームワーク!Vue.jsのメリット・デメリット ruby rubyはWEB開発を効率よく行うことができる言語です。 日本のまつもとひろゆき氏によって開発されたこともあって、日本語での情報も多いです。 またRubyのコードはシンプルで書きやすく読みやすいので、プログラミング未経験者や初心者の方も扱いやすいのが特徴です。 rubyのフレームワークRuby on Rails Ruby on Railsは簡単なコードでWEBアプリを開発することができるフレームワークです。 Gemと呼ばれるライブラリを使って拡張することで更に短い時間で、様々なWebアプリを実装できます。 Ruby on Railsで作れるWebアプリは以下の通りです。 CMS ECサイト […]
続きを読む >>
JavaScriptのフレームワーク!Vue.jsのメリット・デメリット
JavaScriptはWEB開発を行うにあたって必須の技術です。そんなJavaScriptにはフレームワークというものがあり、普遍的機能をまとめて開発し、効率化していく際に使用することができます。 コーディング規約が決められているため、開発工程が簡素化・効率化され、開発速度が非常に早まるのです。 この記事ではそんなJavaScriptのフレームワークの中でも、特に人気のVue.jsに関してそのメリット・デメリットなどを紹介します。 WEB開発を行う開発者様 IT人材を探している方 フレームワークについて知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばVue.jsがどんな人に向いているフレームワークなのかが分かりますよ。 Vue.jsの特徴 Vue.jsには、次のような特徴があります。 UIを作るフレームワークである ドキュメントが充実している 日本語の情報が多い コンポーネント志向と双方向データバインディング Vue.jsは、主にUIを作るために用いられており、ドキュメントの充実度や日本語情報の多さから、国内で人気の高いフレームワークとなっています。 コンポーネント志向(パーツごとにプログラミングし、それらを組み合わせることで処理を作る)を採用しているためコードの再利用がしやすく、双方向データバインディング(画面側での変更をスムーズにデータベースに反映する技術)も使えるためウェブアプリのフロント側で活用されています。 国内で有名なウェブアプリとしては、LINE、note、Rettyなども、Vue.jsを採用しています。 Vue.jsのメリット Vue.jsを導入するメリットから見ていきます。 学習コストが比較的低い JavaScriptには、他にもReactやAngularなどのフレームワークも存在しますが、それらと比べてVue.jsのほうが学習コストが低いと言われます。 その理由は先ほども言ったように、シンプルな記述と日本語ドキュメントの多さです。 Vue.jsは、他のライブラリやフレームワークと比べて癖のある記述が少なく、JavaScriptを勉強した人であれば、比較的スムーズに習得可能です。 また、日本語ドキュメントが少ないReactと比べて、日本語の書籍やドキュメントが多いため、学習しやすいという面もあります。 拡張性が高い Vue.jsは非常に拡張性の高いフレームワークです。 Vue.jsで記述してる箇所に、他のフレームワークの処理を入れ込んだり、画面の一部だけをVue.jsで記述したりすることができるなど、かなり柔軟に使うことが可能です。 コンポーネント志向である Vue.jsの特徴であるコンポーネント志向は、開発者にとって大きなメリットになります。 コンポーネント志向であることにより、コードの一部を再利用することができるため、非常にわかりやすくきれいなコードを書くことが可能です。 コードの再利用性・可読性が高いと、潜在的なバグを減らすことができたり、プログラムの改修や機能追加の際に、余計な工数を発生させずにすみます。 SPA開発に向いている SPA(シングルページアプリケーション)とは、画面側で可能な限りの処理を行うことで、サーバーとの通信量を減らし、高速なウェブアプリを作る技術です。 Vue.jsはSPA開発を比較的簡単に実装できるため、SPA開発の現場で注目されています。 MVVMモデルに適している Vue.jsの特徴である双方向データバインディングは、MVVMモデルのアプリケーションを開発するのに非常に適しています。 MVVMモデルとは、Model(データ)、View(画面)、VM(ビューモデル)という3つの構成要素でアプリを構築する考え方です。 VMは、従来のMVCモデルにおけるControllerの代わりとなる部分ですが、ControllerがViewから受けたデータを処理してModelに反映させていたのに対して、リアルタイムでViewの変更をModelに反映する役割を担います。 Vue.jsの双方向データバインディングは、まさにVMに当たる機能であり、MVVMモデルのアプリ開発に適していると言えます。 Vue.jsのデメリット 一方で、Vue.jsにはデメリットもあります。 大規模開発には向いていない Vue.jsは、シンプルなフレームワークであるため、大規模開発にはあまり向いていません。 大規模開発の場合は、ReactやAngularなどを検討するほうが良いでしょう。 モバイルアプリ開発などには転用できない Vue.jsは、あくまでもウェブアプリの開発に使われる技術であるため、スマホネイティブアプリに使うことはできません。 Reactであれば、React Nativeを用いることで、スマホネイティブアプリも作ることができるので、もしモバイルアプリも検討中であればReactを選択したほうが良いかもしれません。 Vue.jsでの開発ならdehaにおまかせください いかがでしたか。本日はJavaScriptの人気のフレームワーク、Vue.jsについてそのメリット・デメリットなどを紹介していきました。 Vue.jsは学習コストが低く、拡張性が高いなどのメリットがありました。その一方、Vue.jsはウェブアプリの開発に使われるフレームワークのため、スマホアプリ開発にはReact Nativeの利用をおすすめします。 dehaでは、本日紹介したVue.jsなどを利用したシステム開発も行っています。 国内よりも人件費を抑えられるベトナムオフショア開発で5年に渡る開発実績があります。 エンジニアのリソースが足りないとお悩みの場合やフレームワークについてもっと知りたい場合は、ぜひお気軽にdehaにお問い合わせくださいませ。
続きを読む >>
2022年版 JavaScriptのフレームワーク5選!開発者向けにご紹介
JavaScriptはWEB開発を行うにあたって必須の技術です。そんなJavaScriptにはフレームワークというものがあり、普遍的機能をまとめて開発し、効率化していく際に使用することができます。 コーディング規約が決められているため、開発工程が簡素化・効率化され、開発速度が非常に早まるのです。 今回はそんなJavaScriptのフレームワークに関して、代表的な5つをご紹介します。 WEB開発を行う開発者様 IT人材を探している方 フレームワークについて知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばそれぞれのフレームワークがどんな役割をしているかが丸わかりですよ。 2022年版JavaScriptのフレームワーク5選! フレームワークとライブラリという言葉があります。 ライブラリは開発時によく使われる処理を短いコードで呼び出せるプログラムのことで、フレームワークは複数の処理をまとめた一連の機能を提供するプログラムのことを指します。 実際には、ライブラリとフレームワークの境界線は曖昧で、開発する際にはあまり気にしないところです。 今回紹介するJavaScriptのプログラムも、フレームワーク、ライブラリ双方を含めています。 React Reactは、Facebookが提供するライブラリです。 UI開発に強く、コミュニティが大きいことで有名で、国内外問わず非常に人気の高いライブラリとなっています。 Reactのコンセプトは、Declarative(宣言的)、Component-Based(コンポーネント志向)、Learn Once, Write Anywhere(一度の学習でどこでも使える)の3つです。 Declarative(宣言的)とは、UIのパーツごとに、「内部の状態がこうなったら、高表示する」と明示的に宣言していくことを指しています。これにより、論理的・明示的にコードが書かれるため、可読性の高いコードを書けます。 Component-Based(コンポーネント志向)とは、プログラムをいくつかの部品(コンポーネント)に分け、それらの部品を組み合わせることで全体を作るという考え方です。これにより、コードの再利用がしやすくなります。 Learn Once, Write Anywhere(一度の学習でどこでも使える)は、Reactで学習したことを他の場所でも活用することができるという意味です。 たとえば、スマホネイティブアプリの開発に使える「React Native」などを思い浮かべるとわかりやすいでしょう。 Angular Angularは、Googleが開発したフレームワークです。 以前、AngularJSというフレームワークがありましたが、欠陥が多かったため、Angularとして作り直されました。 React同様にコンポーネント志向であることに加え、「MVC(MVW)設計」や「双方向データバインディング」といった特徴があります。 「MVC(MVW)設計」は、アプリを設計するときの考え方です。 Model(データ)、View(画面)、Controller(コントローラ)の頭文字をとってMVCといい、Controller(コントローラ)の代わりにWhatever(何か)にしたものがMVWです。 Angularでは、MVCモデル、あるいはMVWモデルを前提にフレームワークが作られています。 「双方向データバインディング」とは、View(画面)で起こった変更を、素早くModel(データ)に反映するための仕組みです。 上記のような特徴から、大規模なWEBアプリを開発する際は、Angularは優れた選択肢となります。 Vue.js Vue.jsも、人気の高いJavaScriptフレームワークで、UIを作ることが得意です。 ReactやAngularと同じように、Vue.jsもコンポーネント志向です。 Vue.jsは比較的シンプルで、学習コストが低いといわれています。 実際は、大規模システムを作る際には、複雑なコードを記述する必要があり、Reactなどと変わらない学習コストになりますが、規模の小さい開発であれば比較的学習コストを抑えられます。 Vue.jsも、双方向データバインディングを使うことができます。 合わせて読みたい>>JavaScriptのフレームワーク!Vue.jsのメリット・デメリット jQuery JavaScript開発者であれば、jQueryを知らない人はいないでしょう。 シェアが非常に大きく、学習コストが低いUIライブラリです。 非常に軽量でシンプルなため、多くのウェブサイトやウェブアプリで使われており、JavaScript開発者であれば必須のスキルと言えます。 Riot.js Riot.js(ライオットjs)は、シンプルで軽量なコンポーネント志向のUIライブラリです。 これまで紹介してきた4つのフレームワークと比べてシェアは小さいですが、HTMLに似た記述をすることができ、公式サイトが日本語に対応していることもあり、学習コストが低いです。 大規模開発向きではありませんが、jQuery共存できるため、UI開発でコンポーネントを使いたいときに選択肢に入るでしょう。 JavaScriptの開発案件はdehaにご相談ください ウェブ開発ではJavaScriptは必須になってきます。 フレームワークを利用すればみんなが同じ開発工程を踏むので、開発工程が簡素化・効率化され、開発速度が非常に早まります。 それぞれのフレームワークにはメリットやデメリットがありましたね。どのフレームワークを学習すればいいか迷っている場合は、それぞれのフレームワークに触れてみて、自分にあったものを見つけてみることをおすすめします。 […]
続きを読む >>
2022年版 モバイルアプリ開発フレームワーク 5選
モバイルアプリの重要性は年々高くなっています。 現代はスマホを持っているのが当たり前となり、ユーザーがスマホを使っている時に接触する時間を取れるかがビジネスにとって影響力を持っているからです。 しかし、モバイルアプリを作るには、アプリ本体だけでなく、サーバー、データベース、それらを支えるインフラ環境など多くのことを考える必要があります。 そこで、本日はそんなモバイルアプリ開発がグッと楽になるフレームワークについて解説していきます。 モバイルアプリを開発したい方 IT人材をお探しの方 モバイルアプリのフレームワークを知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばアプリ開発を手助けしてくれるフレームワークがまるわかりですよ。 2022年版 モバイルアプリ開発フレームワーク 5選 本日紹介するのはこの5つです。それぞれ詳しく紹介します。 言語 事例 こんな人におすすめ React Native React(Javascript) • Skype• Instagram• Facebookなど webアプリケーションへの展開を考えている方 Flutter Dart • Alibaba • Google広告 アプリなど これからモバイルアプリ開発を始めたいWebアプリ開発者 Ionic HTML 、CSS、Javascript • Diesel • McDonald’s Turkey app など おしゃれで使い勝手の良いUIの構築を目指している方 Apache Cordova JavaScript • ウィキペディア • HealthTap など JavaScriptとCSS/HTMLの知識がある方 Xamarin .NET と C# • The World Bank • BBC Good […]
続きを読む >>
2022年版 Web開発フレームワーク 5選(バックエンド編)
コロナ禍により、これまでオフラインでの営業を中心に行っていた中小企業もオンラインでの活動に乗り出しました。そのため、Web開発の需要は非常に高くなっています。 この記事ではバックエンド(サーバーサイド)で使われているフレームワークを解説しています。Web開発はフロントエンドだけでなく、サーバーに対して行われるバックエンドも重要なのです。 ・バックエンドに使えるフレームワークを知りたい方・Web開発を行いたい方・もしくはWeb開発に対する人材をお探しの方 これらに当てはまる方におすすめの記事となっています。これを読めば目的別のバックエンドで使えるフレームワークがまるわかりですよ。 ▶︎フロントエンドのフレームワークはこちらで紹介しています。 バックエンドのWeb開発フレームワーク5選 Webサービスを作る際は、ユーザーからみたUIを構成するフロントエンドの処理と、フロントから受け取ったデータを管理するバックエンドの処理が必要です。 バックエンドの処理はサーバーで行われるため、PythonやPHPといったサーバーサイド言語によって動くフレームワークが用いられます。 Ruby on Rails Ruby on Railsは、2005年ごろに発表された、Rubyのフレームワークです。 Rubyは、日本人開発者のまつもとゆきひろさんにより開発されたことで有名で、スタートアップ界隈で人気のプログラミング言語です。 Ruby on Railsの最大の特徴は、コードの自動生成機能です。さまざまな機能を、非常に少ないコードから自動で作り上げてくれます。 その機能は「15分で本格ウェブアプリが作れる」と言われるほどであり、個人やスタートアップといったマンパワーが少ない開発現場で、非常に重宝されます。 その分自由度は低いですが、とても人気のフレームワークです。クックパッドやGitHubといった有名サイトでも用いられています。 Laravel Laravelは、PHPで人気なフレームワークの1つです。 PHPではCakePHPやSymfonyといった他のフレームワークもありますが、Laravelは他のフレームワークの良いところを取り入れることで、豊富な機能があるため人気を集めています。 また開発コミュニティの動きも活発であり、ここ数年で一気に知名度を上げた技術です。 Django Django(ジャンゴ)は、2005年ごろに発表された、Pythonで用いられるフレームワークです。 Djangoは一般的なWebアプリを作るのに必要な機能が揃っているフレームワークで、Python特有の豊富な機械学習関連のライブラリを使えるということで人気です。 Ruby on Railsと異なり、コードの自動生成はそこまで強くなく、ある程度開発者自身で手を動かす必要がありますが、その分見通しの良いコードを書きやすいです。 また管理画面が組み込まれているため、データベースの閲覧・編集の管理画面を簡単に作れるというメリットもあります。 Instagramの開発などでも使われている技術です。 Flask Flask(フラスク)は、Django同様にPythonのウェブフレームワークの1つです。Pythonフレームワークの中では、Djangoに次ぐ人気があり、軽量でシンプルなフレームワークとなっています。 最低限の機能を備えており、必要に応じて機能を拡張するという作りになっており、コードの管理がしやすいです。 またドキュメントも豊富であったり、Google App Engineと互換性があったりと、開発者へのサポートも充実しています。 Uberなどでも使われている技術です。 Node.js Node.jsは、正確にはフレームワークではなく、JavaScript実行環境の1つで、サーバーサイドでJavaScriptを動かすことができます。 Node.jsはただの実行環境ではなくウェブサーバーの代わりとしても役立ちます。 ApacheやNginxといったウェブサーバーなしに動作することができ、大量の同時アクセスを捌くことができるため、素早いレスポンスを返すシステムを作りたい場合に重宝されます。 サーバーサイド以外でも、アプリ開発やIoT開発などでも活用可能なため、今、IT業界で非常に注目されている技術の1つです。 WEB開発ならdehaにご相談ください Ruby on Rails Laravel Django Flask Node.js 今回は、上記5つのフレームワークについて解説しました。 実際にはフレームワーク単体で考えるのではなく、プログラミング言語やウェブサーバー、データベースなどの相性も含めて技術選定を行うため、目的やリソースによってベストな選択肢は異なるかと思います。 dehaでは、日本企業様向けのベトナムオフショア開発を5年間行ってきました。 […]
続きを読む >>
2022年版 Web開発フレームワーク 5選(フロントエンド編)
2021年現在、コロナ禍の影響もあり、Web開発への需要は非常に高いものとなっています。 Web開発の分野では、2010年ごろからJavaScriptをベースとした、フロントエンドフレームワークが盛り上がっていました。フロントエンドフレームワークの数が増えたことで、技術選定が難しくなっているかと思います。 今回は、特に有名なフロントエンドのWeb開発フレームワークを5つピックアップし、特徴などをまとめます。 Webを用いた営業活動に興味のある小売店の方 小売店からの依頼を受けているITベンダーの方 Web開発に役立つフレームワークを知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばおすすめのWeb開発フレームワークが分かりますよ。 フロントエンドのWeb開発フレームワーク5選 早速、フロントエンドのフレームワークをみていきます。 いずれも、JavaScriptがベースとなっているフレームワークです。 React.js React.jsは、2013年にFacebookによって開発されました。世界的にみても非常に人気が高く、2021年現在では、最も導入率の高いフロントエンド技術となっています。 React.jsは、正確には、フレームワークではなくライブラリにあたります。 フレームワークとライブラリの違いは分かりにくいですが、フレームワークは「処理全体の流れ」を提供しており、ライブラリは「特定処理のためのパーツ」を提供しているイメージです。 いずれにしても、スムーズに開発を進めるために役立ちます。 ▶︎合わせて読みたい「【厳選】「React Native」の頼れる・使えるライブラリ7選【UIやデザイン開発に!】」 React.jsはUIを構築するために作られたライブラリで、SPA(シングルページアプリケーション)の開発などに用いられます。 また派生した技術に、React Nativeがあり、アプリ開発に使用できるのも魅力です。Facebook、Netflix、Airbnbなど、多くのウェブアプリで採用されています。 ▶︎合わせて読みたい「【徹底比較】React Native対 Flutter【アプリ開発に必要な5つのポイント】」 Vue.js Vue.jsは、世界的にはReact.jsより勢いがありませんが、日本国内でとても人気のあるフレームワークです。 ドキュメントが整備されていたり、開発者同士のコミュニティが活発だったりします。 Vue.jsはReact.jsと異なり、記述方法に癖が少ないため、React.jsよりも学習コストが低いと言われています。一方で、複雑な処理を作る際は、React.jsの方が良いと言われています。 ソース管理ツールを提供するGitLabや、NintendoのMy Nintendoプロジェクト、ホテル検索サイトのTrivagoなどで採用されています。 Angular Angularは、2010年にGoogleが開発した、フロントエンドフレームワークです。 以前、Angular JSというものがありましたが、欠点が多かったため、Angular JSの開発者本人が改めて作ったのがAngularです。Angularは、現在バージョン11まで出ています。 Angularの特徴の1つとして、マルチプラットフォームが挙げられます。 Angularのコードを使うことで、Web、モバイルWeb、モバイルのネイティブアプリ、デスクトップPCでのネイティブアプリなど、複数のプラットフォームに対応したアプリを作ることが可能です。 React.jsやVue.jsと比べて下火ですが、複数プラットフォームに跨がるプロジェクトや、大規模プロジェクトでは、十分選択肢に入る技術です。 PayPalやGmailなどで採用されています。 Ember.js Ember.jsは、2011年後半に生まれたフレームワークで、MVCモデルを前提とした技術です。 2015年にリリースされた安定版のEmber.jsでは、保守・再利用がしやすいフレームワークとして人気になりました。 多機能なフレームワークであり、学習コストが高いものの、使いこなせれば生産性の大幅な向上を見込めるでしょう。 React.js、Vue.js、Angularと比較すると人気は下火ですが、現在でも盛んにアップデートされています。Apple MusicやLinkedinで採用されています。 Backbone.js Backbone.jsは、CoffeeScriptも開発したジェレミー・アシュケナス氏によって作られたフレームワークです。 非常に軽量であるのが特徴で、学習コストが低く、比較的自由にかけるのが魅力です。 タスク管理ツールのTrelloや、動画サイトのHuluで採用されています。 WEB開発ならdehaにご相談ください コロナ禍の影響で、オフラインでの営業活動に専念していた業界も、Webを活用した事業展開に乗り出しています。今後も、Web開発案件は増えていくことでしょう。 本日紹介したフレームワークはあくまで一例ですが、どれも使いやすいフレームワークなのでぜひ活用してみてはいかがでしょうか。 dehaではこれらのフレームワークを利用し、日本企業様向けのベトナムオフショア開発を5年間行ってきました。Web開発の開発実績も多数あり、JavaScriptに習熟したエンジニアも多数在崎しています。 ベトナムオフショア開発は、国内開発より低いコストで、優秀なエンジニアを登用できるのが魅力です。 Web開発に向けた、エンジニアリソースの確保をお考えでしたら、ぜひdehaにご相談ください。 ▼ […]
続きを読む >>
PWAとAMPって何?それぞれのメリットをご紹介
PWAとAMPは、ウェブサイトやウェブアプリを高速化する技術として、注目を集めています。 PWAやAMPならページの高速化が実現するので、ウェブサイト運営をしている人にとっては大きなメリットになります。 この記事では、そんなPWAとAMPの違いに着目しながらそれぞれのメリットを解説していきます。 これらに当てはまる方におすすめの記事となっています。これを読めばPWAとAMP、それぞれの特長が丸わかりですよ。 PWAとAMPとは何か? PWAもAMPもGoogleが提供する、ウェブサイトやウェブアプリの表示方式です。 どちらもウェブサイトの高速化を行うことができます。 PWAとは PWAはProgressive Web Appsの略称で、ウェブサイトやウェブアプリを、まるでネイティブアプリのように表示させることができる仕組みです。 主にGoogle(Android Chrome)が中心となって展開しており、UXの向上が期待できます。 PWAを導入することで、ユーザーのエンゲージメントやコンバージョンも向上するでしょう。 合わせて読みたい>>PWA(Progressive Web Apps)とは?メリットと実装事例 AMPとは AMPとはAccelerated Mobile Pagesの略称で、アンプと呼ぶのが一般的です。 GoogleとTwitterが共同して展開しており、モバイルページの高速化を行うことができます。 モバイルページの高速化を行うことで、PWA同様に、ユーザーのエンゲージメントやコンバージョンの向上が期待できます。 PWAのメリット PWAを導入すると、まるでスマホネイティブアプリのようなUIを実現することができます。 PWAを導入するメリットをみていきましょう。 ページの表示速度が早くなる 通常のウェブサイトやウェブアプリでは、ページ遷移の度にページ読み込みをするため、ユーザーから見て数秒ほど待ち時間がありますが、PWAではページを先回りして読み込むことができるため、ほぼ待ち時間なしでページを表示させられます。 ページの表示速度が遅いサイトは、ユーザーの離脱率が非常に高くなってしまいます。機会損失を生み出さないためにも、ページの表示速度の改善は、ウェブサイト運営に置いて重要な要素です。 インストールなしでホーム画面にアイコンを設置できる PWAを導入したサイトでは、「ホーム画面に追加」の項目を設定することが可能です。 「ホーム画面に追加」をタップすると、iTunesストアやGoogleプレイストアなどからのインストールなしで、ホーム画面にアイコンを設置することができます。 ユーザーにとってはインストールという無駄な手間がなく楽ですし、サイト運営者にとっては再来訪を促すチャンスが生まれます。 プッシュ通知を送ることができる PWAを使うと、ネイティブアプリのように、プッシュ通知を送信することができるようになります。 プッシュ通知を使えば、24時間いつでもこちらからユーザーに直接アプローチをかけられるようになります。 ネイティブアプリのようなUIを実現できる PWAを使うとネイティブアプリのように、自由なUIを設定することが可能です。たとえば、デフォルトのブラウザで表示されているURLのバーを消すことなどができます。ネイティブアプリのようなUIができることで、ウェブサイトで表現できる幅が広がります。 ネイティブアプリよりも簡単も導入できる 上記のように、PWAはネイティブアプリと遜色ない機能を持っているのですが、ネイティブアプリよりも格段に簡単に導入することができます。 通常のネイティブアプリ開発では、SwiftやKotlinといったプログラミング言語を使って、一からプログラミングする必要がありますが、PWAはGoogleが提供するAPIを用いてウェブサイトを構築すれば導入可能です。 大規模サイトのリプレイスとなれば工数がかかりますが、そうでなければ比較的少ない工数で導入することができるでしょう。 また、ネイティブアプリと違って1つのソースで、iOS、Android両方に対応させられるのも魅力の一つです。 AMPのメリット AMPには以下のようなメリットがあります。 一からAMPのサイトを作るのは、比較的簡単で、AMPの仕様に沿ってモバイルページ向けのメタ情報やスタイルを追加するだけです。 コンテンツを大きく変える必要はなく、PWAよりも導入が簡単と言えるでしょう。 AMPに対応することで、結果としてHTMLやCSSのデータ量がとても小さくなり、ページの表示速度が格段に改善やデータ送信の負荷が小さくなるといったメリットがあります。 ページの表示速度は、SEOの指標の1つですので、AMPに対応することで結果的にSEO効果も期待できるでしょう。 またAMPを導入すると、検索結果のトップニュースとして表示される可能性が高くなります。 PWA、AMP対応案件ならdehaにお任せください PWAもAMPも、一から作るのであればさほど工数がかかりませんが、リプレイスとなると工数が増加してしまいます。 工数がかかるとどうしても開発費用が高くなりがちです。 dehaでは、5年間にわたりベトナムオフショア開発を行ってきました。 ベトナムオフショアでは国内開発の7割〜半額程度のコストで、優秀なエンジニアを登用することができます。 […]
続きを読む >>
PWA(Progressive Web Apps)とは?メリットと実装事例
PWAはウェブサイト運営に使える技術の一つで、通常のウェブサイトを、スマホのネイティブアプリのように扱える技術です。 ユーザービリティの向上や、SEO対策の文脈で、非常に注目されている技術になります。 この記事では、そんなPWAについて初心者でも分かりやすくご紹介しています。 PWAという言葉自体を初めて聞いたウェブサイト運営者 言葉だけは聞いたことがあったけど、いまいちわかっていないウェブサイト運営者 これらに当てはまる方におすすめの記事となっています。これを読めばPWAのメリットはもちろん、どのように活用していけばいいかが分かりますよ。 そもそもPWA(Progressive Web Apps)って何? PWAは、Progressive Web Appsの略称で、ウェブサイトをスマホのネイティブアプリのように扱う技術です。 ネイティブアプリのように、iTunesストアやGoogle playストアからインストールする必要はないですが、スマホ上にアプリアイコンを作ったり、プッシュ通知を飛ばしたりすることができます。 PWAで実装できる機能 PWAを導入することで、以下のような機能を実装できます。 ホーム画面にアイコンを追加 通常、ネイティブアプリをダウンロードすると、スマホのホーム画面にアプリアイコンが設置されるかと思います。 PWAを導入したサイトでは、ユーザーが許可すれば、ストアからインストールせずともホーム画面にアプリアイコンを出すことが可能です。 プッシュ通知 通常のウェブサイトでは、スマホに対してプッシュ通知を送るのは難しいですが、PWAはネイティブアプリ同様にプッシュ通知を送信することもできます。 ネイティブアプリのようなUI PWAを導入すると、ネイティブアプリのような自由なUIを実現することが可能です。 通常のウェブサイトでは、ウェブブラウザに依存した画面になるので、ある程度表現方法が限られてしまいます。 PWAでは、ネイティブアプリと遜色ない見た目や使用感を再現することが可能です。 ページ表示の高速化 PWAにはプリキャッシュと呼ばれる機能があります。 他のページを事前に読み込んでおくことで、ページの表示速度を高速にする技術です。 通常のウェブサイトでは、ページ遷移を行うたびに、ページの読み込みが少なからず発生します。 ページの読み込みの遅さは、ユーザーの離脱原因の1つなので、PWAを導入し、ページ表示速度を改善することで、ユーザーの定着率を向上させることができるでしょう。 PWAを導入するメリット PWAの導入は、多くの面でメリットがあります。 ユーザー接点を増やせる 大きなメリットの1つが、ユーザー接点の増加です。 まずPWAを導入することで、許可したユーザーに対してプッシュ通知を送信することができます。 現代では常にスマホを持ち歩いている人が多く、プッシュ通知を送信できるというのは、ユーザーに24時間アプローチできるということを意味します。 またスマホのホーム画面にアイコンを設置できるため、ユーザーの再来訪率の向上も見込めます。このようにPWAを導入することで、自社サービスを、ユーザーの中に根付かせることが可能です。 開発の手間が少ない 通常のネイティブアプリでは、iOSとAndroidで、開発に必要な技術が異なることが多く、開発の手間がかかってしまいます。 一方、PWAはウェブサイトやウェブアプリに依存した技術であり、iOSもAndroidも同じソースコードで対応することができます。 2つのOSの開発を一度に行えるので、ネイティブアプリ開発と比べて開発工数が半分になると言えるでしょう。 SEO対策に繋がる PWAは、サイトの表示速度改善に繋がります。 サイトの表示速度は、SEOの観点で重要な指標の1つですので、PWAを導入することはSEO対策の効果があると期待されています。 PWAの導入事例 実際にPWAを使っている事例を見てみましょう。 Twitter Twitterは、PWAに対応しています。 Google Chromeなどでウェブアプリ版のTwitterにアクセスし、右上の3つの点をタップし、「アプリをインストールする」という項目をタップすると、ホーム画面にストア版のTwitterアプリとは別のTwitterアイコンが追加されます。 Suumo 物件紹介サービスのSuumoも、PWAに対応しています。 PWA実装ならdehaにご相談ください PWAの大きなメリットとして、「ユーザーへの接点を増やせる」というものをあげました。 サードパーティCookieが制限されたりし、ユーザーとの接点を作るのが難しくなる流れがある時代ですので、ユーザーへの接点を増やせるPWAは非常に魅力的な技術だと思われます。 […]