はっすーずツールをご利用いただきありがとうございます。
はっすーずツールがどのように開発されているのか、どのような技術が使用されているのかを開発ブログでお伝えしてまいります。
皆さんははっすーずツールの開発で使用されている言語を知っていますか?
実はプログラミングを使用していないものも多く、PCさえ持っていれば簡単に作成できるものもあります。
全世界のウェブサイトはHTMLを使用して制作されています。これはプログラミング言語ではなく、マークアップ言語です。
正式名はHyper Text Markup Languageで、それぞれの頭文字をとってHTMLとなります。
簡単な構文で作成されており、<html></html>でHTMLであることを宣言し、ブラウザに見えるように変換させています。
はっすーずツールでは、全ページに採用されています。
拡張子は.html/.htmです。
HTMLと必ずと言ってもいいほど同時に使用されているCSS。これもプログラミング言語ではなく、スタイルシート言語です。
正式名はCascading Style Sheetsで、それぞれの文字をとってCSSとなります。
簡単な構文で作成されており、HTMLの各要素の定義をもとにスタイルに関するタグをつけます。
はっすーずツールでは、全ページに採用されています。
拡張子は.cssです。
ウェブサイトに動きをつけたり、計算処理やAPI呼び出しを主に担う唯一ブラウザ上で動作するプログラミング言語(スクリプト言語)です。
JavaScriptとJavaが混同している方がいらっしゃいますが、全く別物です。
計算処理やAPI呼び出しはできますが、サーバー内部には侵入できない言語です。
登場当時は不人気言語だったもののアップデートを重ねるうちに、世界一使われる言語のひとつとなり、現在はウェブサイト・サーバー・ネイティブアプリ・フレームワークと様々な用途で使用される言語となっています。
ラブライブ!関連のファンサイトにもJavaScript系フレームワークが採用されており、
が開発に使用されています。
はっすーずツールでは、全ページに採用されています。
拡張子は.jsです。
サーバー内部の処理から、HTMLとの連動でサーバーと通信を行うことができる、プログラミング言語(サーバーサイドスクリプト言語)です。
近年は処理速度が速く使用しやすい言語やフレームワークが台頭したため、海外を中心に選ばれにくくなってきていますが、日本国内では現在も根強い人気があり、多くのウェブサイトで採用されているWordPressはPHPを用いて動作しています。
はっすーずツールでは、問い合わせフォームや検索ページで採用されています。
拡張子は.phpです。
こちらはサーバー内部の処理を強みとする言語で、プログラミング言語(オブジェクト指向スクリプト言語)です。
生まれは日本、聖地は島根県となっており、記述が簡単なことと性能が高いこと、有能なフレームワーク「Ruby on Rails」の存在から全世界で使われている言語のひとつです。
はっすーずツールでは、採用の予定はありません。
拡張子は.rbです。
こちらはウェブ、サーバーに活用できる有能言語の汎用プログラミング言語です。
処理速度は比較的遅い部類にはなりますが、AI学習では必須となります。記述が簡単でプログラミング初心者が最初に学ぶ言語のひとつとなっています。また、上級者もよく使うため、学ぶメリットの多い言語でもあります。
一部の試験で採用されたことがありますが、はっすーずツールでは、採用を見送っています。
拡張子は.pyです。
こちらは現代のフロントエンド開発の標準、主にウェブ・サーバーを強みとした、プログラミング言語です。
完全性を重視した言語となり、誤記・構文ミスは一切許さない言語で、安全性が高い部類に入ります。現在はJavaScriptの存在を脅かしているものの、最終的にはJavaScriptに変換して使用するものとなっています。
今後提供予定の一部サービスはTypeScriptを用いて制作される予定です。(ただし、JavaScript系フレームワークのNext.jsを採用予定です)
拡張子は.tsです。
C言語、C++、C#は名前こそ似ていますが、それぞれ役割や性格が異なります。
C言語は歴史ある言語のひとつで、OS開発に欠かせないプログラミング言語です。
ハードウェアに近い処理が得意で、実行速度は高速ですが、メモリ管理を手動で行う必要があり、管理を誤ると予期せぬ動作や脆弱性の原因となることから、非常に記述から管理までが難しい、一つのミスが大きな不具合を引き起こすことがあります。
拡張子はソースファイルは.c、ヘッダーファイルは.hです。
C++はC言語を拡張した、OS開発から、ゲーム、システム依存に近いアプリ開発などで使用されるプログラミング言語(オブジェクト指向プログラミング言語)です。
一部のOSシステム、Unreal Engine製ゲームやMinecraft(統合版)などのゲームや、多くのブラウザで採用されており、C言語譲りの高速さを持ちますが、機能が多く、習得難易度は依然として高い部類に入ります。
拡張子はソースファイルは.cpp/.cc等、ヘッダーファイルは.hpp/hです。
Microsoftが開発した言語で、ネイティブアプリ開発やゲーム開発で採用されるプログラミング言語です。
名前の由来は「C++にさらに++を重ねると#にみえる」ことからとなります。Javaに近い仕組みを持ち、C/C++とは処理の仕方が根本的に異なります。
記述が比較的楽で、Unityの標準言語であるため、Unity製のゲームはC#で記述されています。
ラブライブ!シリーズのスマホゲームはスクフェスを除きすべてUnity製のC#で記述されています。
拡張子は.csです。
スクフェスはKLabが独自開発したPlaygroundというゲームエンジンを用い、C++とLuaで書かれていました。しかし3D化やエディタの実装がないことで運用・保守が非常に難しく、実装例はKLab以外なく、また、現在はPlaygroundの更新も止まり、現在採用されているゲームは一つもありません。
はっすーずツールでは、いずれも採用の予定はありません。
はっすーずツールでは図のようなコード配置で運用されています。

今回ははっすーずツールをはじめとする、主要言語についてまとめてみました。
次回はセキュリティについて開発ブログといたします。
不定期公開
はっすーずツール開発ブログ #3
一覧に戻る