deha magazine / Webシステム開発
Webシステム開発
ベトナム人エンジニアに聞く!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での開発において、品質を高める為に工夫していることがあれば教えて下さい。 […]
続きを読む >>
vue.jsとは?将来性・開発需要を解説
JavaScriptではさまざまなフレームワークが用意されていて、効率的な開発をすることができます。 その中でもvue.jsは日本で特に人気があり、学習コストが低いと言われています。 この記事ではそんなvue.jsについて、将来性や開発概要などを中心に紹介していきます。 vue.jsが気になる方 JavaScriptを勉強中の方 JavaScriptのフレームワークを知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばvue.jsがどんなフレームワークなのか、将来性はどうなのかなどがまるわかりですよ。 vue.jsとは? vue.jsは2014年にリリースされた日本国内で人気のJavascriptのフレームワークです。 他のフレームワークと異なり記述方法に癖が少ないため、React.jsよりも学習コストが低いと言われています。また他のライブラリとの組み合わせを自由に選ぶことができるといったメリットもあります。 そんなvue.jsには以下のような機能があります。 ディレクティブ コンポーネント ディレクティブとはv-で始まる特別な属性のこと。ディレクティブによってHTMLに独自の属性を付与し、DOM操作を行うことができます。 コンポーネントとはアプリケーションで再利用することを指します。コンポーネント化をすることで、何度も同じコードを書く必要がなくなり見やすく保守も行いやすくなるのです。 他にもできることは多くあります。詳しくはこちらの記事で解説しているので、ぜひ合わせてチェックしてみてください。 合わせて読みたい>>解説!Veu.jsでできること、向いていないこと【WEBアプリ開発】 Javascriptのフレームワークとは Javascriptのフレームワークは「開発を素早く行い、生産性をあげる」ということを目的に誕生しました。AngularやReact、jQueryなども有名ですね。 そもそもJavascriptはフロントエンド開発にて主に使われていて、HTML、CSSで作られたページに動きをつけることができます。 実はそんなJavascriptのフレームワークは公式のものはなく、個人や企業が独自に開発を行っています。だからこそ、世界中に多くのJavascriptのフレームワークが存在するのです。 その中でも、学習コストが低く、扱いやすいvue.jsは特に人気が高くなっています。 vue.jsの将来性 vue.jsは将来性がとても高いフレームワークと言って良いでしょう。その理由を解説していきます。 理由①多くの企業で利用されている vue.jsは多くの企業で導入されています。2018年に行われたVueFesでは、「LINE」「DeNA」「GMOペパボ」などと言った大手のIT企業がスポンサーになっています。 理由②求人数も増加 人材メディアHRogによると、2018年の1月〜12月での求人広告は267.3%の増加率となっています。 このように求人数から見ても将来性があると言えます。 理由③学習コストが低い 何度も言っていますが学習コストが低く、学びやすいフレームワークです。そもそもVue.jsはAngularJSの有用な部分を取り出しそれ以外を削ぎ落として作られています。 シンプルな文法構造の上、日本人の学習者が多いので、日本語の情報も多く出回っています。公式サイトも日本語に翻訳されているのも嬉しいポイントですね。 理由④歴史が浅いのにもかかわらず既に人気が高い vue.jsは2014年に誕生したばかりにもかかわらず、人気がとても高いです。先ほども紹介したように多くの企業でも導入されています。 企業に導入される実先が増えれば、学習しようとする人も増えます。そこからvue.jsを使ったサービスも増えると言ったような好循環が生まれる可能性が高いのです。 まとめ いかがでしたか。本日はJavascriptのフレームワークであるvue.jsについて、その概要と将来性を解説していきました。 学習への敷居が低く、多くの企業で導入されていることから今後も高い人気が続くフレームワークと言えそうです。 dehaでは本日紹介したフレームワークやライブラリを利用し、日本企業様向けのベトナムオフショア開発を5年間行ってきました。 Web開発の開発実績も多数あり、JavaScriptに習熟したエンジニアも多数在崎しています。 オフショア開発は、国内開発より低いコストで、優秀なエンジニアを登用できるのが魅力です。 Web開発に向けた、エンジニアリソースの確保をお考えでしたら、ぜひdehaにご相談ください。 ▼ dehaソリューションへの簡単見積もりの依頼はこちら
続きを読む >>
ベトナム人エンジニアに聞く!Shopify開発最新事情
Shopifyとは自社ECサイトの開発および運営を実現するプラットフォームとして、世界中で広く利用されているサービスです。世界で170を超える国が利用しており、これまで100万以上のECショップ導入実績があります。 従来のECサイト展開方法では、「自社サーバの用意」「パッケージの導入」などの事前準備に多くリソースを割く必要がありました。 その点、Shopifyはサブスクリプションをベースにしているため、従来までのような初期コストをかけずに、迅速に開発できることが大きな特徴となっています。 当記事ではそんな「Shopify(ショッピファイ)」の活用を得意としているベトナムのオフショア開発会社「DEHA」のエンジニアにインタビューし、Shopifyを活用したECサイトの開発に関して生の声をお届けします。 Q. 自己紹介をお願いします DEHAエンジニアのトアンです。私は1991年に生まれました。今年30歳です。ソフトウェア業界における主にWebおよびアプリ開発の分野で7年以上働いています。 私は開発者、チームリーダーなどの役職で働いたことがあります。 フロントエンド言語、バックエンド言語、サーバサイドプログラミング言語などのほとんどのWeb開発言語の利用に関して経験を持っています。 いつでも時間があれば、新たなテクノロジーの学習、読書、音楽、愛玩鳥、観葉植物の育てをします。 Q. 普段の業務を教えて下さい 現在、私はDEHAで働いており、毎日の仕事について顧客及びチームと打ち合わせ、仕事を詳細に計画しています。仕事が長引く場合は、進歩を確実にするために、日報を報告し、チームと相談したり、サポートします。 Q. Shopifyはどのような方法で習得しましたか? 最初、私は基本的にインターネット上で学習し、社内と社外の同僚から情報を交換したり、ShopifyのForumで情報交換して学習しました。 主に自習、自分でインストール、開発、実践しました。プラットフォームの機能をよりよく理解するために、Shopifyの組み込みの管理機能へのアプローチを学習していました。次に、能力を向上させるため、プロジェクトからのより厳しい要件を満たすように、アプリおよびテーマの開発に切り替えました。Magento、Opencart、Joomla、WordpressなどのECサイトの分野で、フレームワークで多くのCMSを取り組んできたおかげで、見方、操作方法、活用方法も論理的で高速になります。 Q. Shopifyの開発スキルを向上する為にやっていることがあれば教えて下さい。 現在、私は新たなテクノロジーを学習・習得しています。各言語の処理能力が異なることがある為、UX向上の為にパフォーマンスが最適な方法を常に学習しています。 Q. Shopifyでの開発経験について教えて下さい この1,2年で何件もShopifyの開発プロジェクトに携わりました。 今となってはShopifyのストア操作、構成方法は私をはじめとするDEHAチームにとっては非常にイージーだと感じます。 現在は、サードパーティのアプリやサービスの交換方法も継続的に学習したり、顧客の要求に対応するアプリケーションを作成し、この分野での品質を向上する努力をしています。 より多くのアプリを作成し、将来、皆が使用できるようにストアで販売するように頑張ります。 Q. Shopifyで開発して良かったことを教えて下さい Shopifyには、サーバーを準備する必要がなく、負荷分散を確保するためにトラフィックの量を気にせず、コーディングスキルも必要ないというメリットがあります。 また、もう1つの長所は、Shopifyコミュニティからのサポートも非常に柔軟で便利です。 Q. Shopifyで開発する際の課題があれば教えて下さい。また、その課題をどうやって解決したか教えて下さい。 もちろん、困難がありましたよ!例えば、サードパーティのサービスであるアプリの使用は、サイトの機能に影響を与え、中断したことがあります。その時、サードパーティと相談が必要です。また、より最適な方法を見つけるために時間を割くことも多くの時間と労力を要します。 Q. Shopifyでの開発において、品質を高める為に工夫していることがあれば教えて下さい。 個人的な意見ですが、お客様の要件を理解する必要があります。顧客に適切な方法及びアプリを提案し、顧客が体験して試すことができるテストストアを構築します。 そこから、お客様のフィードバックに基づいて検討および機能をアップグレードする必要があります。 Q. その他、Shopifyでの開発に関して、伝えたいことがあれば教えて下さい。 Shopifyを使用する場合、Non Plusバージョンではカスタムチェックアウトページを使用できず、サービスも制限されているというかなり残念な点があります。通常、顧客はカスタムチェックアウトページが表示され、Plusバージョンが提供する以外の多くのことを要求しますので 。 適切なバージョンと価格を選択する前に、顧客の要件を明確にする必要があります。さらに、提供されるサードパーティのアプリの選択と評価は非常に重要です。後、システムに大きな影響を与えるため、コミュニティのレビューを学び、試してみる必要があると思います。 まとめ いかがでしたか。本日はDEHAのエンジニア「タイ」のインタビューを通じて、ベトナムオフショア開発におけるShopifyでのEC開発の状況をご紹介していきました。 DEHA社では高品質なECサイトをスピーディーに納品する為に、Shopifyの習得を積極的に取り入れています。 インタビューをご覧の通り、DEHAには多くのShopify構築&運用実績があるからこそのナレッジがあります。 Shopifyを使ったECサイトの開発をご検討の方は是非ご相談下さい。
続きを読む >>
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のコードにアクセスする […]
続きを読む >>
WEB制作社必見!HTML5でスマホアプリ開発ができるハイブリッドアプリとは?
ハイブリッドアプリとはHTML5やCSS、JavaScriptで開発ができるアプリです。 SwiftやJavaのような知識が不要で、スマホアプリを作成することができるので開発へのハードルがぐっと下がります。 本日はそんなハイブリッドアプリとはどんなものなのか、メリットやデメリットなどについて徹底解説していきます。 ハイブリッドアプリが気になる方 WEB制作に携わっていた方 楽にスマホアプリ開発を行いたい方 これらに当てはまる方におすすめの記事となっています。これを読めばハイブリットアプリについて丸わかりですよ。 ハイブリットアプリとは ハイブリッドアプリとは、「Webアプリ」と「ネイティブアプリ」という異なる2つの良い要素をハイブリッドしたアプリのことを指します。 WebアプリとはHTML5やCSVによって開発されたアプリのこと。ネイティブアプリは固有のデバイスに依存したアプリのことを指します。 ネイティブアプリはデバイスに依存しているという特徴があります。iOSやAndroidのアプリを作成するためには、SwiftやJavaなどでOSごとに開発が必要だったのです。 しかしハイブリットアプリの場合、HTML5やCSS,JavaScriptで1つのアプリを開発すれば、どちらのOSでも利用することができるのです。 メリット コストを抑えることが可能 先ほども言ったように、iOSやAndroidどちらにも対応するアプリを作るためには2つのアプリ開発が必要でした。 そのため、手間や時間、コストがかかってしまいます。 しかし、ハイブリットアプリなら工数を半分にすることが可能です。 さらに開発に使う言語も多くの人が学んだことのあるHTML5やCSS、Javascriptなので、人件費も通常の開発に比べ抑えることができますよ。 メンテナンスがしやすい ネイティブアプリ開発の場合、端末のバージョンアップの際にアプリで修正が必要になった場合、iOSやAndroidなどそれぞれのOSに個別に対応する必要がありました。 iOSやAndroidは毎年のようにメジャーアップデートが行われるため、多くの手間がかかってしまいますよね。 一方、ハイブリットアプリならマルチプラットフォームを採用しているため、複数のOSにアプリをリリースしていたとしても修正作業は1回で済みます。 また、Webを表示する要領でアプリを表示しているため、そもそもOSのバージョンによる影響を受けづらいという特徴もあります。 メンテナンスのしやすさは、顧客満足度に直結します。アプリを利用したユーザーの要望に柔軟に答えることが可能ですよ。 SwiftやJavaのような知識が不要 ネイティブアプリの開発にはSwiftやJavaなどのスキルが必要です。しかしこれらの言語を新しく習得するのは簡単ではありません。 一方、ハイブリットアプリで使われるHTML5やCSS、Javascriptは、Web制作に利用されていて初心者でも比較的習得しやすい言語と言われています。 Web制作経験者には持ってこいだと言えそうです。 デメリット 細かな仕様変更は苦手 ハイブリットアプリの開発には、特定のフレームワークを利用します。 利用するフレームワークに応じてプラグインの種類も限定されてしまいます。その結果、細かい変更には対応しづらいので注意が必要です。 処理速度が遅くなりがち ハイブリットアプリではライブラリを通じてプラットフォーム固有の機能を間接的に呼び出します。 よってネイティブアプリと比べると処理速度が遅くなってしまうのです。そのため、プログラムの書き方を工夫することで、十分な速度を実現していく必要があります。 まとめ いかがでしたか。本日はハイブリットアプリについてその特徴を解説していきました。 Webアプリとネイティブアプリの良いところ取りをして、開発コストの削減やメンテナンスのしやすさを実現できました。 アプリの開発や運用にあたって、メンテナンスやアップデートは必要不可欠です。メンテナンスが簡単にできるハイブリットアプリは、今後ますます注目を浴びていくに違いありません。 そんなハイブリットアプリ開発ですが、ベトナムオフショアならよりコストを抑えた開発が可能です。 Dehaソリューションズなら5年以上の開発実績があり、高スキルのエンジニアによる開発でさまざまなお客様をサポートしています。 「ベトナムオフショアについてもっと知りたい」「エンジニアの質を知りたい」そんな方はぜひお気軽にお問合せください。 お問い合わせはこちらから
続きを読む >>
web3.0とは?web2.0との違い、仕組みとメリット
web3.0とは、ブロックチェーン技術を用いた分散型のウェブサービスのことです。 従来のweb2.0で問題視されていたセキュリティやブライバシーの問題を解決できるとあって、注目されています。 まだweb3.0のはっきりとした定義はありませんが、この記事ではweb3.0がどんな仕組みなのか、どんなメリットなのかを徹底解説していきます。 web3.0について知りたい方 これからのネットがどのように成長するのかを知りたい方 web2.0との違いを知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めばweb3.0がどんなものなのかはもちろん、従来のweb2.0との違いまで丸わかりですよ。 web3.0とは? web3.0とはブロックチェーン技術によってウェブのデータを共有し、ウェブ自体がプラットフォームとなってユーザー参加型のコミュニケーションを実現するウェブサービスのことです。 ブロックチェーン技術とは2008年にビットコインの安全なやり取りを可能にするためにサトシ・ナカモト氏によって開発されたデータの管理方法です。 分散型のネットワークを構成する複数のコンピュータ間で、情報をチェーン状に繋いでいき、一定期間のデータがブロックとして記録される際に1つ前のブロックのデータが保存される仕組みです。 web3.0ではユーザー自身がデータの所有権を持っていて、データの利用をコントロールすることができます。サービスの登録の際、今までは個人情報をそのサービスに共有させる必要がありました。 しかし、web3.0では個人情報は企業が保持しているデータベース上のデータではなく、ブロックチェーン上に保存されているデータを共有することになります。 ブロックチェーンは暗号化されるので、セキュリティレベルがとても高いです。また全ての履歴は保存されていています。これにより、個人情報の流出や改ざんなどを防ぐことができるのです。 web2.0との違い 従来の「読む」だけのようなサービスはweb1.0と呼ばれていました。閲覧できる情報は情報作成者にのみ管理され、閲覧ユーザーが編集することはできませんでした。 そこから情報の受け手が自由にコンテンツを作り上げることができる、つまり流動化したウェブサービスが誕生しました。それをweb2.0と言います。 web2.0では情報そのものよりも利用者へのサービスが重要視されます。利用者が増えれば増えるほどサービスの質が向上するため、ユーザー参加型のサービスと言えます。 具体的なサービスとしては「Wiki(ウィキ)」や「Youtube」「SNS」などがあげられます。 しかし、これらweb2.0には特定企業に個人情報が集中してしまうというプライバシーの問題や、セキュリティの問題がありました。 Google、Amazon、Facebook、Appleなどの企業に世界中の個人情報が集まってしまうのです。 こうした中央集権型のネットワークが引き起こす問題を解決するために登場したのがweb3.0です。ブロックチェーン技術によって個人情報は分散管理され、不正アクセスや情報漏洩、データ改ざんなどのリスクを減らすことができるのです。 web2.0には情報やシステムの管理を行う特定の管理者が存在していましたが、web3.0には特定の管理者はおらず、複数のコンピュータによって正しい情報が等しく共有されるのです。 web3.0のメリット データの紛失がない ブロックチェーン技術はデータ管理を複数のシステムで管理する分散型のシステムです。 万が一、一部のシステムがダウンしてしまっても、常に同期されているのでデータが紛失してしまったり、データがつかなくなることはありません。 またデータの改ざんもしづらい設計になっているので、ハッキングなどにも強いといったメリットがあります。 情報の相互接続性が向上する インターネットに接続されるものが増えるため、多くのデータが集まり、アルゴリズムが分析する情報が増加します。 これにより、ユーザーに適した情報を提供することが可能になるのです。 デバイス、OSから解放される 今まではiosでは利用できるが、Androidでは利用できないなどデバイスやOSに縛られてしまうことがありました。 しかし、web3.0ならデバイスやOSに縛られることなく利用することが可能です。 広告やマーケティングが改善される web3.0では高度なAIを利用し、顧客データに基づいてターゲットを定め質の高い広告を打ち出すことができます。 カスタマーサポートの向上 web3.0では複数のユーザーと同時に対話できる高度なチャットボットを導入することができます。 質の高いカスタマーサポートを受けることが可能ですよ。 まとめ いかがでしたか。本日はweb3.0について、従来のweb2.0の違いとメリットについて紹介していきました。 web3.0はブロックチェーン技術を用いて、web2.0で問題視されていたセキュリティの問題やプライバシーの問題を解決することができました。 web3.0によって、世界中のユーザーがよりインターネットを利用しやすくなるでしょう。 まだweb3.0の具体的な定義は定まっていませんが、今後web3.0によって、大きな変化がもたらされることは間違いありません。
続きを読む >>
Commerce+ 2021に見る、越境ECの未来
ShopifyのオンラインイベントCommerce+ 2021が11月4日に開催されました。 このCommerce+ 2021では越境ECのこれからがわかる話題が議論されました。本日はそんなCommerce+ 2021の内容を紹介していきます。 Commerce+ 2021の内容が知りたい方 越境ECの未来を知りたい方 ネットショップを運営したい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば越境ECはもちろん、他のCommerce+ 2021の内容もわかりますよ。 Commerce+ 2021とは Commerce+ 2021とはShopifyを利用する事業者とパートナー向けに行うオンラインイベントです。 6月29日に行われた「Shopify Unite 2021」を受けて、日本に特化したコンテンツを加えて開催されました。Shopifyの最新動向を知ることができたり、コミュニティをつくる機会を提供します。 Commerce+ 2021に見る、越境ECの未来 ネットショップは今や世界中に機会が広がっています。実際にShopify公式でも以下のような情報がシェアされています。 2020年にShopify最大のマーチャントは、国際ドメインや複数通貨といった既存ツールを活用して200億ドルの越境売上をうみだしています。 越境ECの課題となるのは、通貨や言語、ローカルな支払い方法、関税や輸入税などですよね。また、ローンチする場所をどうするのか、どんな商品を販売するか、ターゲットとするべきでもグラフィックをどうするかなど考えるべきことが多くあります。 Shopifyではこれらの課題を解決するべく、Shopify Marketsをローンチしました。 Shopify Markets Shopify Marketsは先ほど紹介した越境ECの障壁を解消するために立ち上がったサービスです。 通貨や言語の変更、支払い方法の変更や関税などと言った越境ECに必要な面倒な作業をShopify Markets1つに集約し、管理することができるようになりました。 デフォルトで越境EC用の機能があり、簡単に海外用のネットショップを構築することが可能です。 ネットショップにおいて言語や通貨を購入者に合わせてローカライズすると、コンバージョンがそれぞれ13%から40%と大幅に増加すると言われています。そのような市場に合わせたローカライズがShopify Marketsでは簡単にできます。 Shopify Marketsでできること Shopify Marketsでできる主なことは以下の通りです。越境ECに必要な機能が集約されているのがShopify Marketsの魅力です。 市場別のショップを一元管理 通貨の変更 言語の変更 関税の自動計算 決済方法の選択 市場別の価格設定 グローバルな在庫のロケーション 市場別の分析 他にもあるCommerce+ 2021で議論されたこと 越境EC以外にもネットショップの未来を予測する様々な議論がなされました。簡単に紹介していきます。 自分のブランド、自分のビジネスを構築する Commerce+ 2021ではお客様に信頼を得て深い関係を築くために、どのような投資が必要かが議論されました。その中で注目されたのがオンラインストア2.0とDawnです。 オンラインストア2.0とDawn […]
続きを読む >>
React.js とVue.jsを徹底比較!歴史や機能・特徴などを解説
JavaScriptの人気のフレームワーク・ライブラリであるReact.js とVue.js。 初心者がJavaScriptの学習を行う際に、どちらを選択すれば良いか迷う方もいらっしゃるでしょう。 そこで今回は、React.js とVue.jsにはどんな特徴や違いがあるのかなどを徹底解説していきます。 React.js とVue.jsの特徴や違いを知りたい方 JavaScriptを学びたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばReact.js とVue.jsの違いがわかりますよ! React.jsとは React.jsは2013年にFacebookによって開発されました。 世界的にみても非常に人気が高く、2021年現在では、最も導入率の高いフロントエンド技術となっています。 UIを構築するために作られたライブラリで、SPA(シングルページアプリケーション)の開発などに用いられます。 実際、ソース管理ツールを提供するGitLabや、NintendoのMy Nintendoプロジェクト、ホテル検索サイトのTrivagoなどで採用されています。 React.jsの機能 Declarative React.jsのDeclarativeとは、UIの部品に対し「このような見た目になる」と宣言するように実装できるということです。 誰が見ても理解できるわかりやすいソースコードで、デバッグのもやすくなります。さらにデータの変更を検知し、自動的に表示を更新することも可能ですよ。 コンポーネント React.jsではアプリケーションで再利用するものをコンポーネント(部品)といいます。 コンポーネント化をすることで、何度も同じコードを書く必要がなくなり見やすく保守も行いやすくなります。 Vue.jsとは Vue.jsは2014年にリリースされた日本国内で人気のJavascriptのフレームワークです。MITライセンスで公開されていて、商用利用も可能。ドキュメントが豊富で、開発者同士のコミュニティも活発です。 他のフレームワークと異なり記述方法に癖が少ないため、React.jsよりも学習コストが低いと言われています。モダンなライブラリと併用することで、洗練されたシングルページアプリケーションの開発も可能です。 Vue.jsの機能 ディレクティブ ディレクティブとはv-で始まる特別な属性のこと。ディレクティブによってHTMLに独自の属性を付与し、DOM操作を行うことができます。 ディレクティブは多くの種類が用意されているので、うまく活用することができれば直接DOM要素を操作するコードを書く必要はなくなります。 コンポーネント Vue.jsでもReact.jsと同じようにコンポーネント指向をとっています。 コンポーネント化により記述を簡潔にすることができ、例えエラーが起きたとしても修正も簡単に行うことが可能です。 React.js とVue.jsの比較 今まで紹介したReact.js とVue.jsの違いをまとめると以下のようになります。 React.js Vue.js 対象 Webとネイティブ Web中心だが今後他のプラットフォームでも利用できるよう開発された 開発者 Facebook Evan You リリース時 2013年3月 2014年2月 目的 単一ページまたはアプリケーションの開発のベースとして使用 高度な単一ページアプリケーションも可能 学習コスト 深い知識が必要 記述方法が短く、情報も多い。ライブラリを活用できる […]
続きを読む >>
マイクロサービスアーキテクチャとは?メリット・デメリットを紹介
マイクロサービスアーキテクチャとはあるアプリケーションをビジネス機能に沿った複数の小さなマイクロサービスに分割して開発を行なっていく手法のことです。 これにより開発の効率化や、変更に柔軟に対応することができるようになります。 実際、AmazonやNetflixなどでも取り入れられているマイクロサービスアーキテクチャ。本日はそんなマイクロサービスアーキテクチャについて徹底解説していきます。 マイクロサービスアーキテクチャが気になる方 開発効率を上げたい方 ラボ型開発に興味がある方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばマイクロサービスアーキテクチャがどんな開発手法なのか丸わかりですよ。 マイクロサービスアーキテクチャとは? マイクロサービスアーキテクチャとはソフトウェア開発技法の1つで、ThoughtWorks社のマーチン・ファウラーとジェームス・ルイスによって提唱されました。 ビジネス機能に沿った複数の小さなマイクロサービスに分割し、それらを組み合わせて単一のアプリケーションを開発するアプローチのことを指します。 アマゾン CEO ジェフ・ベゾスが大きすぎるチームではメンバー間の意思疎通が困難になり生産性が低下すると「ピザ2枚ルール」を提唱していますが、マイクロサービスアーキテクチャはその考えをもとに作られたと言われています。 「ピザ2枚ルール」とは、チーム編成や会議において、無駄がなく生産性が高い人数の条件は、ピザ2枚を配りきれる程度の人数(8~10名程度)という考えのことです。 このピザ2枚を配りきれる人数によって、効率的で、各々のモチベーションも高く、またお互いをフォローしあえる状況にあるため、チームの団結力が強くなると考えられています。 実際、マイクロサービスアーキテクチャにより、迅速な開発や機能の改善、柔軟な拡張などが可能になります。 マイクロサービスアーキテクチャのメリット メンテナンスやテストがしやすい マイクロサービスアーキテクチャでは共有される部分を減らし、小さなサービスを開発、改善していきます。 メンテナンスやテストもそれぞれで 行うので、管理がしやすくなります。 ひとつのサービスが全体をダウンさせるようなことがない マイクロサービスアーキテクチャでは個々で開発を行うので、それぞれのサービスが独立をしています。そのため各サービスは違うプログラム言語で開発をしていても問題がありません。 だからこそ、単一のコンポーネントの中で障害が発生しても、他のコンポーネントに影響を与えることは少ないのです。 開発が柔軟になる 先ほども言ったように各サービスは違うプログラム言語で開発することができます。さらに、データモデルやデータベーススキーマなどもサービスごとに各個に設計をしていきます。柔軟な開発が可能になりますよ。 ちなみに、各チームで開発したものはREST APIやRPCによって通信して連携を行なっていきます。 マイクロサービスアーキテクチャのデメリット プロジェクト型の開発には向かない マイクロサービスアーキテクチャは変化に柔軟に対応できると言ったメリットがありましたが、こうした開発手法は持続的な開発や継続的にリリースに向いています。 そのため完成までに長い工期を要するプロジェクト型の開発にはあまり向いていません。アジャイル開発などの開発手法でマイクロサービスアーキテクチャが重要な役割を果たすことができると言えるでしょう。 合わせて読みたい>>【注目】アジャイル開発とは?オフショア開発に効果的!? サービス間のインターフェースが重要 お気づきかもしれないですが、マイクロサービスアーキテクチャで開発を行う場合、それぞれのチームで開発したものを連携させるインターフェースが重要になります。 単純にサービスを分割すればするほどインターフェースの数が増えてしまいます。複数回のネットワーク通信が発生することでシステムのパフォーマンスが劣化する可能性も。 また、サービス間を実際に結合して試験するためには、互いに実装がある程度成熟している必要もあるのです。 まとめ いかがでしたか。本日はマイクロサービスアーキテクチャについて、どんな開発技法なのか、どんなメリット・デメリットがあるのかなどを解説していきました。 マイクロサービスアーキテクチャでは小さな単位にサービスを分割することで、仕様変更に柔軟に対応でき、開発効率をあげることができました。 アジャイル型の開発を行なっているチームでは重要な役割を果たすに違いありません。ぜひ今回紹介したマイクロサービスアーキテクチャを自社システムにも取り入れてみてはいかがでしょうか。 dehaでは、5年ほど前から、ベトナムオフショア開発を行っています。 より詳しくマイクロサービスアーキテクチャについて知りたい方、オフショア開発について知りたい方はぜひご気軽にお問い合わせください。 お問い合わせはこちらから
続きを読む >>
pythonとは?できること・メリット・デメリットのご紹介
人気のプログラミング言語pythonは、YouTubeやInstagramなど人気のサービスで利用されています。さらにはAI開発など今注目の技術でも活用されているのです。 本日はそんなpythonについて、特徴やメリット、デメリットなど徹底解説していきます。 pythonが気になる方 バックエンドの開発を行いたい方 AI関連のシステム開発を行いたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めば今注目の言語pythonについて丸わかりですよ。 pythonとは? 1991年にオランダ人のグイド・ヴァンロッサムによって開発されたオープンソースで運営されているプログラミング言語です。pythonという名前は、BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』にちなんで付けられそうです。 組み込み開発や、Webアプリケーション、デスクトップアプリケーション、人工知能開発、ビッグデータ解析など様々なものに活用されています。 pythonは広く利用されているので、学習コストが低くサイトや本などで気軽に勉強することができます。プログラミング初心者でも学びやすい簡潔な言語仕様で、少ないコードで書けるのも魅力です。 pythonのメリット 初心者でも学びやすい そもそもpythonは、コードを書きやすくするために誕生したプログラミング言語です。誰が書いても同じようなコードになるように工夫されています。また少ないコードで簡潔に記述できるので、読み間違えや書き間違えが起こりづらくなっています。 またpythonは初心者が学ぶ際に役立つ書籍や情報が多く出ています。多くの人が学習している言語だからこそ、学習もしやすいのですね。 ライブラリの数も豊富で、その数は数万種類にも及びます。ライブラリを利用すれば、1からコードを記述する必要がありません。自分の作りたいプログラムを簡単に構築していくことが可能なのです。 WebサービスやAI関連のビジネスで利用されている pythonは今注目のWebサービスやAI関連のビジネスで多く利用されています。 例えば人気の動画サイトYouTubeでもPythonが使用されています。バックエンドのプログラムで利用されていて、動画処理やデータの読み込みなどを担っています。 また、クラウド環境の構築に利用されているオープンソースのソフトウェアOpenStackもPythonで大部分を開発しています。 オンラインストレージサービスDropboxもPythonで開発されています。Pythonでの開発でOSを選ばないポータビリティ性、動作の高速性、などの高い利便性を実現しているのです。 AI関連のシステム、機械学習を用いたソフトウェア分野でも多く利用されているのも大きな特徴です。 Pythonはコードが簡潔にもかかわらず、統計処理や数値計算を得意としています。それが、データ解析の処理によく用いられる理由の1つです。AI分野のライブラリも豊富にあるので、それらを利用して開発することもできますよ。 フレームワークがある フレームワークとはWebアプリケーションのひな型のようなもの。 Webサービス開発においてフレームワークを活用することで、開発スピードの向上や、管理修正がしやすくなるといったメリットがあります。 pythonでは「Django」や「Flask」などといったフレームワークがよく利用されています。 Djangoは一般的なWebアプリを作るのに必要な機能が揃っているフレームワークで、Python特有の豊富な機械学習関連のライブラリを使えるということで人気となっています。 管理画面が組み込まれているため、データベースの閲覧・編集の管理画面を簡単に作ることが可能です。Instagramの開発などでも利用されていますよ。 Flaskは最低限の機能を備えており、必要に応じて機能を拡張するという作りになっており、コードの管理がしやすいのが特徴です。Google App Engineと互換性があるので、開発者へのサポートも充実しています。Uberなどで利用されています。 合わせて読みたい>>2021年版 Web開発フレームワーク 5選(バックエンド編) pythonのデメリット 実行速度が遅い Pythonはインタプリタ型の言語、かつ動的型付き言語であるため実行速度が遅いといったことがデメリットとして挙げられます。そのため基幹システムなどの重要なシステムには向いていません。 インデントが必要 Pythonはインデントが必要なので、記述の際は気をつけましょう。 インデントとは行頭に空白を入れてから、文字を入れて字下げを行うこと。pythonでは同じ数の空白でインデントされたまとまりを一つのブロックと認識するので、インデントが合わないとエラーが起こってしまいます。 まとめ いかがでしたか。本日は今注目のプログラミング言語pythonについて徹底解説していきました。 pythonはYouTubeやInstagramなど人気のサービスで利用されています。さらにAI開発など今注目の技術に活用されているのです。 世界中で多くの人が利用している言語なので、学習コストが低くライブラリも豊富にあります。コードもシンプルなので、初心者が学びやすい言語と言えるでしょう。 dehaは本日紹介したPythonを利用した開発実績が豊富な技術者集団です。 ラボ型開発(「お客様専属の開発チーム」を準委任契約にて提供する開発形態)で外注先というよりは社員らしくプロジェクトに関わることで、高いパフォーマンスを発揮します。 Pythonのスキル・実績を持ったIT人材をお探しの方は、外注と採用の良いとこ取りをした人材調達サービス「チョータツ」をご覧下さい。