deha magazine / Webシステム開発
Webシステム開発
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は非常に魅力的な技術だと思われます。 […]
続きを読む >>
ECサイト構築が適用?持続化補助金の低感染リスク型ビジネス枠
持続化補助金の低感染リスク型ビジネス枠はご存知でしょうか? 低感染リスク型ビジネス枠とは、コロナ禍への対策として、国から出ている補助金制度のことです。 事業を行っている人であれば、国の制度は可能な限り活用したいところですよね。 この記事では、そんな2021年3月に公表された持続化補助金の「低感染リスク型ビジネス枠」についてまとめています。 国の補助金制度について知りたい方 小規模のビジネスを行っている事業者さま ECサイト運営を行おうと思っている方 これらに当てはまる方におすすめの記事となっています。これを読めば、低感染リスク型ビジネス枠の対象事業と補助金を受けるためにどうすれば良いのかがわかりますよ。 持続化補助金の低感染リスク型ビジネス枠とは? 持続化補助金は、小規模な事業主向けに、日本政府が出している補助金です。 元は「一般型」しかありませんでしたが、2020年のコロナ禍への対応として、「コロナ特別対応型」も用意されていました。ですが、「コロナ特別対応型」の持続化補助金は、2020年12月の5次締め切りをもって、終了となってしまいました。 「低感染リスク型ビジネス枠」は、「コロナ特別対応型」と入れ替わりの形で、2021年3月に公募された持続化補助金です。 令和2年度第3次補正予算「小規模事業者持続化補助金<低感染リスク型ビジネス枠>」は、小規模事業者が新型コロナウイルス感染症感染防止と事業継続を両立させるため、対人接触機会の減少に資する前向きな投資を行い、ポストコロナを踏まえた新たなビジネスやサービス、生産プロセスの導入等の取組を支援するものです。 経済産業省HP 経済産業省のHPには上記のように記載されています。 簡単にいうと、対人接触が減るような事業投資、対人接触の少ない新たなビジネスやサービスの創設などをサポートしてくれる制度です。 ポストコロナに適する事業投資にかかった費用のうち、3/4を政府が負担してくれます。上限は100万円です。 「低感染リスク型ビジネス枠」の対象となる事業者と事業 持続化補助金は、元々、小規模事業者が対象の制度です。「低感染リスク型ビジネス枠」も同様に、小規模事業者しか受けることができません。 具体的には、以下の基準があります。 商業・サービスの場合、従業員が5人以下 宿泊業・娯楽業・製造業その他の場合、従業員が20人以下 大企業の子会社でないこと 課税所得の年平均が15億円を超えていないこと また、他のタイプの持続化補助金を受けていないことや、反社会的ビジネスを営んでいないことも条件に含まれます。 上記に該当する事業者が、「対人接触機会の減少」に繋がる新しい事業投資を行う場合、「低感染リスク型ビジネス枠」が適用されます。 ECサイトで持続化補助金の低感染リスク型ビジネス枠を受けられる? 先に結論をいってしまえば、ECサイト構築は、「低感染リスク型ビジネス枠」が適用される可能性が高いです。 ECサイトは対人接触0で営業が行えるため、「対人接触機会の減少」に繋がる事業として評価される可能性が高いからです。 ECサイト構築で「低感染リスク型ビジネス枠」を受けるには? 一つは、既存のビジネスを拡張する形です。 飲食業や個人商店などを営んでいる場合、すでに販売している商品があるかと思います。それらを販売するための販路として、ECサイトを新たに構築するのがおすすめです。 またもう一つの方法は、今の事業とは別軸で、新たにECサイト事業を立ち上げることです。 自社で扱っているサービスとは別にECサイトを構築し、事業として展開する方針もあるでしょう。 いずれも共通するのは、新規でECサイトを立ち上げる必要があることです。 理由としては、公募要綱に「新たなビジネスやサービス、生産性プロセスの導入等 」と明記されているからです。 既存のECサイトの運営費用では、持続化補助金の低感染リスク型ビジネス枠を受けられる可能性は低いでしょう。 ECサイトの構築にかかった費用の3/4が、補助金として支援される想定です。 「低感染リスク型ビジネス枠」の募集時期 現在、公表されているのは以下の日程です。 第1回受付締切 2021年 5月12日(水) 第2回受付締切 2021年 7月 7日(水) 第3回受付締切 2021年 9月 8日(水) 第4回受付締切 2021年11月10日(水) 第5回受付締切 2022年 1月12日(水) 第6回受付締切 2022年 3月 9日(水) 前回の「コロナ特別対応型」も5次で終了したように、上記のスケジュールが完了した後に、同様の補助金が出るかどうかは、今のところ不明です。 「低感染リスク型ビジネス枠」の補助対象経費は、「交付決定日以降に発生し対象期間中に支払が完了した経費」が対象です。 […]
続きを読む >>
【悲報】Shopifyのメンテナンスが大変な理由【オフショア開発で解決】
カナダ発のECプラットフォームであるShopifyは、ここ数年非常に人気となってきています。特徴として多言語対応に強みがあり、1つのサイトで海外向けに展開できるのが魅力です。 ですが、日本国内のShopify開発ニーズに対して、対応できる開発会社が少ないのが現状です。また海外産のサービスということもあり、運用後のメンテナンスも容易ではありません。 そんなShopifyでのお悩みを解決できるのがオフショア開発です。この記事ではShopifyでのメンテナンスと、それを容易にするオフショア開発について解説しています。 「Shopify案件を受けたいが、リソースが足りない」「Shopifyでオンラインストアを開設したいが自分では難しい」「Shopify構築の注意点を知りたい」 このような疑問やお悩みをお持ちの方におすすめの記事となっています。これを読めばShopifyでは難しいメンテナンスを容易にできるオフショア開発について丸わかりですよ。 Shopify案件の課題 本格的なECサイトを構築・運営する場合、商品の追加・更新に加えて、サイトデザインのリニューアルや、他のアプリとの連携など、たくさんのメンテナンス業務が発生します。 Shopifyを用いて、ECサイトを構築・運営する場合、これらのメンテナンス業務の難易度が非常に高くなりがちです。 「恒常的に発生するメンテナンス業務の負荷が高い」というのが、Shopify案件の課題と言えるでしょう。 では、なぜ通常のECサイトに比べて、メンテナンス業務の負荷が高くなってしまうのでしょうか?主に2つの理由があると考えられます。 機能やオプションが多すぎる 1つは、Shopifyの持つ機能の多さです。 Shopify公式が提供している機能一覧には膨大な量の機能が記載されています。また、Shopifyに実装されている既存機能以外にも外部公開APIが存在し、さらに、連携可能なサードパーティアプリは6000件以上あるのが現状です。 このように膨大な量の選択肢の中から、顧客が求める機能を選定し、実装する必要があります。調査だけでもかなり時間と労力がかかりますし、この調査業務が恒常的に発生することは、エンジニアへのストレスに繋がるでしょう。 英語ドキュメントがメインである もう1つの理由は、ドキュメントの多くが英語で書かれているという点です。現時点で、Shopify関連の情報の多くは英語で書かれており、日本語の情報はあまり見つかりません。公式ドキュメントも、専門的な物に関しては、英語が多いです。 やはり、日本人のエンジニアにとって、日本語以外で書かれたドキュメントは、読解に時間がかかるものです。ただでさえ、調査するべき内容が多いのに加えて、英語のドキュメントばかりなので、より負荷が高くなってしまっています。 単純作業が多く、エンジニアのスキルアップにつながらない 上記の2つの背景に加えて、Shopify運営のための機能実装は、単純作業になりがちで、開発会社に在籍しているエンジニアのスキルアップにつながらない場合が多いです。 このように、作業負荷が高い+自社エンジニアのスキルアップにつながらないという背景があり、Shopifyの運用保守は、国内のITベンダーにとって苦い仕事となっているのが現状と言えるでしょう。 オフショア開発を使って、Shopifyの運用保守をするメリット Shopify構築・運用の課題を解決するためのアプローチの1つが、オフショア開発の活用です。Shopify構築・運用に伴って発生する厄介な業務を、オフショア開発チームに委託することで、Shopify構築・運用の課題を解決できます。 国内開発に比べてコストが低い 「必要な機能の調査と実装を行わないといけないが、自社エンジニアには任せたくない」という場合、考えられる方法としては、他社からShopify対応のためのチームを引っ張ってくることだと思います。 国内の他のITベンダーに依頼するという手段もありますが、オフショアであれば、国内のITベンダーより、低い費用でエンジニアのリソースを確保することが可能です。 例えば、国内でエンジニアを確保しようとした場合、初級SEでも月80万円〜が相場ですが、オフショア開発を行っているdehaでは、毎月40万円〜対応可能です。 国内の他のITベンダーに頼るより、オフショア開発の方がコスト的なメリットが多いと言えるでしょう。 英語のドキュメントに免疫がある またオフショア開発会社に在籍するエンジニアの多くは、海外とやりとりしながら作業をすることが多いこともあり、第二外国語として英語を習得しています。 日本人エンジニアよりも英語のドキュメントに免疫があるため、同じ調査でも、短時間で行うことが期待できます。 以上のような理由から、Shopify案件におけるエンジニアリソース確保の手段として、オフショア開発は非常に有力な選択肢といえるでしょう。 Shopifyのオフショア開発を検討中なら、dehaにご相談ください dehaでは、Shopify構築・運用を含む、様々な開発案件に携わってきました。ShopifyでないECサイトの構築実績もありますし、ECサイトをShopifyにリプレイスする案件の実績もあります。 Shopify関連のノウハウが蓄積されているので、必要な機能の調査・実装に関してもスムーズに行うことが可能です。 もしShopifyのオフショア開発をご検討中であれば、ぜひお気軽にdehaにお問い合わせください。
続きを読む >>
第三者検証の重要性とソフトウェアテストBPOの潮流
システム開発においてテストは非常に重要です。 そもそもシステム開発は、以下のような流れで進みます。 仕様の決定 設計 実装(実際にプログラミングを行う) テスト リリース 運用 一見、仕様の決定〜実装までが注目されがちですが、テストは開発工程の中でも比較的工数が大きい為、大切な項目になります。 今回は、そんな開発におけるテストについて第三者検証を行う重要性について解説をしていきたいと思います。 システム開発を効率よく行いたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば第三者検証がなぜ必要なのかが丸わかりですよ。 第三者検証の重要性とソフトウェアテストBPOの潮流 開発におけるテストは、大きく分けて2種類存在します。 1つは単体テストで、もう1つは統合テストです。 単体テストは機能ごとに行うテストで、開発者側で実施することが多いです。 仮のデータでテストすることも多く、予定していた機能が正しく動くことを確認します。 統合テストは、複数の機能を連結し、実際の動きに近い形で行うテストです。エンドユーザー視点で、動作の速度に問題がないか、使いにくくないかなどに関しても検証します。 単体テスト〜統合テストまで開発者自身が全て行うこともありますが、開発者が全てのテストを行うのは、あまりよくないです。 開発者はシステムのことを熟知しているが故に、「ここは大丈夫だろう」という思い込みや、ユーザー視点が疎かになってしまうことがあります。 テストは、システムの品質を担保する非常に大事な工程なので、本来であればQA(Quality Assurance、品質保証)チームをおくなどして、第三者検証を行うのが好ましいです。 QAチームを社内におくのが難しい場合、外部のテストベンダーにソフトウェアテストをアウトソーシングすることも可能です。 テストをアウトソーシングする、第三者検証サービスという選択肢 外部にテストを依頼する際は、第三者検証サービスを活用するのはおすすめの選択肢の一つです。 第三者検証サービスは、一部のベンダー(開発会社)が提供しているサービスで、テストへの専門的な知見を持ったチームが、第三者視点から客観的に対象のシステムをテストしてくれるサービスです。 第三者検証サービスを活用するメリットは、以下の3点です。 自社にQAチームを用意しなくて良い点 自社のエンジニアに、開発に集中してもらえる点 テストへの専門的な知見があるため開発者が見落としがちなバグを発見できる点 国内のIT人材の不足が叫ばれていますが、自社でエンジニアを雇用しようとすると、人件費が高くつきがちです。 せっかく自社でエンジニアを雇っている場合でも、テストに多く工数を割いてしまえば、その分開発期間がのびてしまいます。 第三者検証サービスを用いることで、開発期間を短縮し、むしろコストを抑えることができるかもしれません。 また優れた第三者検証サービスを用いることで、システムの品質を格段に向上させることができるでしょう。 第三者検証のメリット 開発者ではなく、第三者がテストを行うのには、以下のようなメリットがあります。 先入観なしで、テストに臨ことができる エンドユーザー視点でテストを実施できる 客観的な視点からバグを見つけることができる 開発者は、開発に専念できる 開発と並行してテストを行うことができる 開発者も人間なので、どんなに努力したとしても、熟知したシステムを客観的にテストするのは難しいです。 QAチームやテストベンダーといった第三者をおくことで、エンドユーザーに近い視点でテストを行うことができます。 また第三者に検証をしてもらうことで、その間、開発者はプログラミングやドキュメント作成といった開発業務に専念することができます。 第三者検証サービスの選び方 第三者検証サービスを提供しているベンダーは、近年増えてきています。 国内だけでなく、オフショア開発会社でも、提供している場合があり、第三者検証サービスの選び方も重要になってきています。 テストベンダーごとの特性を理解する 開発会社ごとに得意なシステムが異なるのと同様に、テストベンダーごとに得意とする分野は異なります。 例えば、フロントエンドのテストの場合、ウェブサイトのレイアウト崩れや、リンク切れなどの確認が必要です。 またスマホアプリのテストであれば、使い心地の確認や、速度の確認といったエンドユーザー視点のことだけでなく、プッシュ通知のテスト、各画面遷移のテストなどスマホ特有の箇所が存在しますし、業務システムであれば業務に対して知識がある方が正確なテストができます。 フロントエンドのテストが得意なテストベンダーに業務システムのテストを依頼すると満足いくサービスが受けられないかもしれませんし、スマホアプリのテストを業務システムが得意なテストベンダーに依頼しても同様です。 自社のシステムにあったテストベンダーを探すようにしましょう。 効率的なテストを行ってくれる […]