deha magazine / システム開発
システム開発
ローコードプラットフォームの決定版!mendixを使ってみた
mendixはビジュアルモデリングにより、コーディング知識不要でアプリケーションを作成することができるシステムです。 この記事ではmendixを使ってみたアプリ作成の手順やメリットなどについて紹介していきます。 ローコードプラットフォームが気になる方 mendixに興味がある方 アプリ開発を行いたい方 社内システムを構築したい方 これらに当てはまる方におすすめの記事となっています。これを読めばmendixでアプリを作成する方法や、そのメリットなどが丸わかりですよ。 mendixとは プログラミング言語などのコーディングに代わり、ビジュアルモデリングで構築を行うことをローコードプラットフォームと言います。 mendixはそんなローコードプラットフォームの中でも、アジャイル開発とDevOps両方を活用したいという要望に応えることができるとあって話題になっています。 アプリの構築、レビュー、共同作業はMendix Studioを利用しますが、Mendix Studio Pro をJavaやJavaScriptを使用すれば構築や拡張も可能。 スクラムマスターの場合は、Mendix Developer Portalでユーザーの要求やエンドユーザーのフィードバックを管理することもできるのです。 mendixでアプリを作る手順 ①要件定義 まずは何を作るかを考えましょう。現状の問題点を上げ、それを解決するために必要な機能を洗い出していきます。 必要な機能を上げたら、その機能を作る上で必要な作業を考えていきます。mendixでは管理画面で必要な機能やタスクを管理することができます。 続いて、作業をスプリントに分けていきます。mendixはスクラム開発をサポートする機能があるため、プロジェクトを細かく分け、管理していくことが可能です。 これにやってやるべきことが明確化され、チームとしての作業も行いやすくなります。 ②アプリ制作 ここからは実際にアプリケーションを作成していきます。 mendixではテンプレートが用意されているので、視覚的なイメージがつきやすいです。 続いてドメインモデルを作成します。1つのBOXの中にどういうデータを入れるのか、他のBOXとどう関連しているのかを確認していきます。 それが完了したら、画面のレイアウト作成です。作成したデータから関連するものを選択し、ドラッグ&ドロップするだけ。プログラミングを書く必要はありません。 ③テストする 作成したアプリの画面をWEB上に表示させ、動きをテストします。 登録した情報がきちんと表示されているのか、見やすい表示になっているのかなどを確認しましょう。 ④セキュリティの設定 アプリを作成する上で、セキュリティの確認は重要です。 mendixではアプリの管理者についての権限や、ログイン画面の作成をすることなどができます。これらを設定することで、アカウントを知っている人だけがアクセスできるようになり、より強固なセキュリティを確立することができるのです。 mendixのメリット_ビジュアルモデリング やはりmendixの最大のメリットはコーディング知識不要で、アプリ開発ができる点にあります。 ドラッグ&ドロップのみでビジュアルモデルによってロジック、UIなどを設定していくことが可能。 開発担当者でなくてもアプリの開発ができるので、開発工数や期間を大幅に短縮することができます。 クラウド型のプラットフォームなので、テレワークを行っている事業者さまにもおすすめですよ。 mendixのメリット_多様な機能 mendixはアプリケーションの作成だけでなく、ビジネスプロセスの自動化などさまざまな用途で用いることができます。 またアジャイル開発も可能なので、アプリケーションを実際に作って良くなければ上流工程にすぐに戻るなどといった構築が可能なのです。 mendixのメリット_テストが簡単 ビジュアルモデリングで作成した画面をすぐにテストすることができるのもmendixのメリットと言えます。 修正も簡単ですぐに行えるので開発の効率を上げたい方、開発スピードを上げたい方にはピッタリのツールと言えるでしょう。 また仕様変更などに対する心理的なハードルを下げることもできるのもおすすめのポイントです。 まとめ いかがでしたか。本日はmendixを使ってみて、アプリを作成する一連の方法を紹介していきました。 紹介したようにmendixはコーディングは不要で、ドラッグ&ドロップで視覚的にアプリの構築が可能でしたね。 セキュリティの設定も可能で、アジャイル開発にも対応しているmendix。 ぜひアプリ作成に取り入れてみてはいかがでしょうか。 DEHA SOLUTIONSではMendixを利用してローコード開発にも対応することが可能です。ローコード開発が気になる方、Mendixが気になる方はぜひお気軽にお問合せください。
続きを読む >>
MendixとOutSystemsを比較してみた。ローコードプラットフォームの決定版
プログラミング知識が不要で、ビジュアルモデリングによる構築が可能なローコードプラットフォーム。 その中でも人気のサービスMendixとOutSystemsについて、それぞれの特徴や比較を紹介していきます。 ローコードプラットフォームが気になっている方 簡単に開発を行いたい方 社内のIT人材が不足している方 Mendix、OutSystemsそれぞれ気になる方 これらに当てはまる方におすすめの記事となっています。これを読めばMendix、OutSystemsそれぞれの違いや特徴が丸わかりですよ。 ローコードプラットフォームとは ローコードプラットフォームとは、プログラミング言語によるコーディングに代わり、ビジュアルモデリングにより構築を行う環境のことを指します。 アメリカのフォレスターリサーチ社が2014年に誰でも開発が行えるプラットフォームを称して利用したことから世の中に広まりました。 Mendixとは Mendixはアイディア(要件)、デプロイ、運用、アプリケーションなど開発ライフサイクル全体が加速されるように設計されたローコードプラットフォームです。 アジャイル開発とDevOps両方を活用したいという要望に応えることができ、営業担当を開発に巻き込むことによって、開発スピードを加速することができます。 アプリの構築、レビュー、共同作業はMendix Studioを利用しますが、Mendix Studio Pro をJavaやJavaScriptを使用すれば構築や拡張も可能です。 スクラムマスターの場合は、Mendix Developer Portalでユーザーの要求やエンドユーザーのフィードバックを管理することも可能です。 OutSystemsとは OutSystemsはWebアプリやチャットボット、リアクティブWebアプリなど様々なデバイスに向けたアプリを作成することができるローコードプラットフォームです。 OutSystemsは追加設定なしで400以上のシステムと連携することができ、コーディング不要で一元管理することができます。 アーキテクチャはAIが搭載されているので、反発的なタスクを取り除くことができます。これによって複雑な修正変更を簡単に行うことが可能。 MendixのOutSystemsを比較 MendixのOutSystemsをさまざまな角度から比較していきます。 Mendix OutSystems 開発元 シーメンス(ドイツ) OutSystems(ポルトガル) リリース 2005年 2001年 自動生成について 自動生成はないが、高機能なウェジェットで、コードの記述量が少なくてすむ。一覧画面や詳細画面はウィジェットにテーブルをマッピングさせるだけで、一覧画面の表組や、詳細画面のフォームが出来上がる。 データモデルとして定義したテーブル情報から、各テーブルに対するメンテナンスの機能を有する画面を自動生成する 画面の開発方法 GUIエディタを使用テンプレートにUIコンポーネントを組み合わせて定義し、オブジェクトの移動やプロパティ設定により微調整を行う。 データモデルからフィールドの自動生成が可能である。 GUIエディタを使用テンプレートにUIコンポーネントを組み合わせて定義し、オブジェクトの移動やプロパティ設定により微調整を行う。 データモデルからフィールドの自動生成が可能である。 デザインの自由度 HTMLの微調整は不可。ただし独自のスタイルシートやJavaScriptによる調整は可能 HTMLの微調整は不可。ただし独自のスタイルシートやJavaScriptによる調整は可能 実行環境(オンプレミス) △ (デプロイ関連機能はMendixCloud専用である。) ○ 実行環境(クラウド) ◎ (PaaS提供あり。) ◎ […]
続きを読む >>
プロトタイプ開発とは? プロトタイプ開発の種類や特徴も解説
プロトタイプ開発とは開発早期の時点で、試作品をユーザーに検証してもらうことで、開発工程を短縮することができる開発手法です。 開発工程の短縮だけでなく、ユーザーのフィードバックを早い時点で受け取ることができるので、満足度が高いシステムを構築することができるのも大きなメリットです。 この記事ではそんなプロトタイプ開発に関して、その特徴や種類など徹底解説していきます。 プロトタイプ開発が気になっている方 満足度の高いシステム開発を行いたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばプロトタイプ開発の特徴やそのメリットが丸わかりですよ。 プロトタイプ開発とは? プロトタイプ開発とは開発早期の時点で、システムの試作品(=プロトタイプ)を構築、それをクライアントやユーザーに提供し、フィードバックしてもらいます。そしてそれを受けシステムの改善をはかっていく手法のことです。 初期の段階から画面を共有することで出来上がりのイメージを共有することができるとあって話題の開発手法となっています。 プロトタイプ開発では、要件定義後に試作品の開発と検証を行っていきます。具体的には要件をもとに実際のシステムと同じ見た目で、操作も可能なプロトタイプを構築。 実際に開発チームとクライアントが検証を行い、完成イメージと違っているところはないか、不備はないかを確認していきます。そして、プロトタイプの修正を行い、検証を繰り返します。 このようにし、検証ができイメージが固まったところで実際の設計、開発を行っていきます。 プロトタイプ開発の特徴 初期の段階からイメージの共有が行える 先ほども言ったようにプロトタイプ開発手法では、初期の段階でイメージを共有することができます。 これにより、通常の開発で起こりがちな開発後半になってから、経営陣とイメージの共有ができておらず手戻りを行うなどと言った問題を未然に防ぐことができます。 要件への理解が深まる プロトタイプ開発ではプロトタイプを作る時点で要件をよく確認するため、要件に対する理解を深めることも可能です。 万が一、要件に曖昧な点があった時は、検証の時点でそれを明確にすることができるのもプロトタイプ開発の大きなメリットと言えるでしょう。 クライアントへの満足度が高まる プロトタイプを開発する時点で、クライアントのフィードバックを受けることができるので、クライアントの要望に近いシステムを開発することが可能です。 そのため通常の開発よりも、正式リリース後の満足度が高まります。 システムの品質をあげることができる プロトタイプを作成することで、実装が難しい箇所を事前に確認することができます。 バグが発生しやすい場所も早いうちに確認ができるので、重点的にテストを行うことができより品質の高いシステムを構築することが可能になります。 プロトタイプ開発の種類 プロトタイプ開発には2つの種類があり、それぞれラピッドプロトタイピング、ブレッドボード・プロトタイピングと呼ばれます。 もっと詳しくみていきましょう。 ラピッドプロトタイピング ラピッドプロトタイピングは使い捨て型プロトタイプとも呼ばれます。短時間・低価格を重視し、要求の仕様が固まった時点で、プロトタイプを捨て、正式な開発に移る手法のこと。 主にフロントの画面のみをプロトタイプし、デザイン的な見た目がどうなるのかを重視します。 開発ツールとしてはAdobe XDやProttなど。 開発の早い段階で改善ができるため、費用を最も抑えることができると言われています。 ブレッドボード・プロトタイピング ブレッドボード・プロトタイピングは進化的プロトタイプ開発とも言われ、開発したプロトタイプを使用し、改良を続けることで開発を完成させていく手法です。 リストを最小に抑えるために、開発側で理解が不足している項目は実装せず、部分的に実装されたシステムをユーザーに渡して検証を行います。 アジャイル開発との違い 早い段階で、ユーザーにシステムのイメージをチェックしてもらうという点では、アジャイル開発と似ています。 これらの違いは、プロトタイプ開発では試作品を検証してもらうのに対して、アジャイル開発では本番のシステムを用いる点です。 アジャイル開発では検証結果から開発フェーズを短期間で繰り返すことになりますが、プロトタイプ開発では手戻りは少ないのも特徴です。 まとめ いかがでしたか。本日はプロトタイプ開発に関して、その特徴や種類など紹介していきました。 開発期間の早期の段階で、システムの試作品をユーザーに検証してもらうことでより満足度の高いシステムを構築することができましたね。 プロトタイプ開発に関してより詳しいことが知りたい方はぜひお気軽にお問合せください。
続きを読む >>
Mendixの勉強方法と、資格の取得方法
ローコードでエンジニアでない人でも、アプリ開発を行うことができるということで注目を浴びているMendixはご存じですか。 Mendixはアイディア(要件)、デプロイ、運用、アプリケーションなど開発ライフサイクル全体が加速されるように設計されたローコードプラットフォームです。 この記事ではそんなMendixの学習の仕方や、Mendixに関する資格の取得方法を紹介していきます。 Mendixが気になる方 Mendixの勉強の仕方が気になる方 アプリ開発を効率的に行いたい方 これらに当てはまる方におすすめの記事となっています。これを読めばMendixの学習の仕方はもちろん、Mendixがどういうローコードプラットフォームなのかまで丸わかりですよ。 Mendixとは Mendixはアイディア(要件)、デプロイ、運用、アプリケーションなど開発ライフサイクル全体が加速されるように設計されたローコードプラットフォームです。 2005年に設立、2016年にIBM、2017年にSAPとグローバルリセラー契約を提携し各会社のクラウドサービス上で展開されるようになりました。 2018年シーメンスの傘下に入ったことで、より広範囲のローコードプラットフォームとして活躍しています。 そんなMendixはアジャイル開発とDevOps両方を活用したいという要望に応えることができ、営業担当を開発に巻き込むことによって、開発スピードを加速することができます。 Mendixを導入することで、セキュリティ面も安心でスピーディーに品質の高いアプリを作成することができます。 また、OSアップデートに追随するメンテナンスなどは不要なため、運用・保守の時間やコストを抑えることも可能です。 合わせて読みたい>> ローコードプラットフォームとは?ノーコードとの違い、特徴をご紹介 Mendixの勉強方法 Mendixはプログラミング言語の知識は不要なため、初心者でも扱うことができます。 とは言え、いきなりアプリ開発はハードルが高いですから最低限の知識を習得するようにしましょう。 Alnetzでは月に2〜3回ほどMendixの無償セミナーを行っています。実際にMendixを触って簡単なアプリケーションを作成しています。 Mendixの資格の取得方法 Mendixには3つの認定があります。それぞれ見ていきます。 Rapid Developer Rapid DeveloperはMendixプラットフォームの知識を持っているかどうかの認定試験です。 運転免許の筆記試験のようなものをイメージすると良いかもしれません。テストは基本レベルを50問、オンライン上で英語で行われます。 Advanced Developer Advanced Developerはより実践的な認定です。運転免許の実地試験のようなもので、Rapid Developerの認定を持ち、実務経験があれば受験が可能になります。実務経験の期間は平均すると6ヶ月ほど。 課題をもとにアプリケーションを作成をし、スキルがあるのかどうかをチェックします。 Expert Developer Expert Developer認定はMendixで他の開発者を導くことができるかを認定します。運転免許で例えるなら、大型免許のようなもの。経験や専門知識が必要です。 今まで開発したアプリケーションやプロジェクトの要約、プロジェクトにおける業績をMendixに送る必要があります。 Expert Developerではプロジェクトで主体的な行動をしたこと、課題をコミュニケーションによって解決、開発チームを導いたことを証明していく必要があります。併せて、Advanced Developerの認定をもち、2年以上のMendixがあることも条件になります。 まとめ いかがでしたか。本日はローコードプラットフォームの中でも、アジャイル開発などにも向いている Mendixの学習方法や資格情報などを徹底解説していきました。 MendixはAlnetz主催のセミナーなどに参加することで、初心者の方でもアプリ開発が行えましたね。 Rapid DeveloperやAdvanced Developer、Expert Developerなどレベルに応じた資格もあるので、まずはRapid Developerを目指して学習を進めていきましょう。 DehaソリューションではMendixを利用してローコード開発にも対応することが可能です。ローコード開発が気になる方、Mendixが気になる方はぜひお気軽にお問合せください。
続きを読む >>
ローコードプラットフォームとは?ノーコードとの違い、特徴をご紹介
変化が激しい時代において、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 […]
