メモとまとめ。Slackware Linux 15.0 でやったこと。途中からWinネタも混ざってる。

HTML/CSS/JavaScriptの練習 実践 雑多な記録3 (JSフレームワーク編)
https://seesaawiki.jp/lifewithslackzaurus_15_0/d/H...
が増えてきたので分ける。

/*************************************************************************************/
Express: (2023.05)
【Node.js入門】3大フレームワーク「Express」「Meteor」「Sails」の特徴とは?
https://www.sejuku.net/blog/85534
https://www.tohoho-web.com/ex/nodejs.html
express.jsってFWだったのか。以前、socket.ioとexpressを使ってリアルタイムチャットアプリやって
みたけどJSライブラリだと思っていた。その内こっちに移動しよう。
\
【入門】Node.jsフレームワークの選び方とおすすめ10選 (2024.01)
https://www.kagoya.jp/howto/it-glossary/develop/no...
(React/Angular/VueもNode.jsの解析エンジン使っているから、Node.jsのFWという事になるのか)

(2024.01)
ローカルサーバ apache+node.js
https://seesaawiki.jp/lifewithslackzaurus_15_0/d/%...
で、node.jsのサーバ機能を入れようとググったら、httpかexpressを使うサンプルがヒットした。
https://rensaba-programer.jp/2023/08/12/node-js%E3...
https://qiita.com/someone-said-so/items/ed0aafee06...
ChatGPTに聞いた:
node.jsで、require('http') と require('express') では何が違うのか?
require('http') と require('express') は、Node.jsで使用される2つの異なるモジュールです。
http モジュールは、Node.jsの標準モジュールの一部であり、HTTPサーバーとクライアントの機能を提供します。
これを使用すると、基本的なHTTPサーバーを作成し、リクエストを処理することができます。しかし、ルーティングやミドルウェアなど、高度な機能は提供されません。
\const http = require('http');
\const server = http.createServer((req, res) => {
\ res.writeHead(200, {'Content-Type': 'text/plain'});
\ res.end('Hello, World!\n');
\});
\server.listen(3000, '127.0.0.1', () => {
\ console.log('Server running at http://127.0.0.1:3000/');
\});
express モジュールは、Node.jsのWebアプリケーションフレームワークであり、http モジュールよりも高度な機能を提供します。
ルーティング、ミドルウェア、ビューエンジンなどが組み込まれており、開発者がより簡単かつ効果的にWebアプリケーションを構築できます。
簡潔に言えば、http モジュールは基本的なHTTPサーバーを作成するためのものであり、express モジュールはより高度な機能を備えたWebアプリケーションを構築するためのフレームワークです。選択はプロジェクトの要件によります。
\const express = require('express');
\const app = express();
\app.get('/', (req, res) => {
\ res.send('Hello, World!');
\});
\app.listen(3000, () => {
\ console.log('Server running at http://localhost:3000/');
\});

なるほど、Next.jsだと以下の様に書いて、httpもexpressも要らないのか。
import { NextResponse } from 'next/server';
export async function GET(req) {
\ return NextResponse.json({ name: 'Hello, World!' })
}

/*************************************************************************************/
Electron、Tauri: (2022.12)
そうか、これは Desktopフレームワークか。
draw.ioというフローチャート作成ツールのデスクトップ版 https://github.com/jgraph/drawio-desktop/releases/... をDLして見たらこれ(Electron)を使っていた。
Electron Framework とは、でググった:
Electron (ソフトウェア) - Wikipedia https://ja.wikipedia.org/wiki/Electron_(%E3%82%BD%...
ようこそ!Electron入門 - Qiita https://qiita.com/umamichi/items/6ce4f46c1458e89c4...
最新版で学ぶElectron入門 ウェブ技術でPCアプリを開発しよう https://ics.media/entry/7298/
公式ホーム? https://www.electronjs.org/ja/docs/latest

Electron代替を目指すRust製フレームワーク「Tauri」がバージョン1.0に到達、Windows/Mac/Linuxに対応 https://www.publickey1.jp/blog/22/electronrusttaur...
OSが備えるWebView機能としては、WindowsではWebView2、macOSではWebKit、Linuxではgtk-rsがそれに該当します。
(これはlib?、描画系だからgtk?。JSフレームワーク、Rustフレームワーク。速度が必要なとこ
\だけC++でバイナリ化できるフレームワークもあったりする)
[Tauri]アーキテクチャまとめ
https://qiita.com/marlex/items/4ff5c82bd0ebd211e9c...
軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう
https://gihyo.jp/article/2022/10/rust-monthly-topi...
フレームワーク Tauri とは、でググった:
Tauriで使えるWebフレームワークたち(VSCodeのプラグインも添えて)
https://zenn.dev/sakai_nako/articles/tauri-and-web...

「Linux」でウェブサイトをアプリとして実行するには--「Webapp Manager」を使用
https://japan.zdnet.com/article/35196688/
https://www.saashub.com/webapp-manager-alternative...

WebAssembly(WASM) (2024.01)
https://zenn.dev/koduki/articles/9f86d03cd703c4
(Webの所はJSで書いて、それ以外をCで書いたら速くなる。メモリリークやヌルポしなきゃ無問題?)
https://zenn.dev/ken3pei/articles/1abbf7d974cf5d
このBusyBoxのimageを含んだものをdistrolessは提供している。
(Dockerのベースシステムは組み込みLinuxに向かっているのか?)

/*************************************************************************************/


参考書籍:

参考情報:
draw.io VS drawio-desktop (2023.03)
https://www.libhunt.com/compare-drawio-vs-drawio-d...
$ ls -l draw.io.app/Contents/Resources/
\-rw-r--r-- 1 root root 185695726 9月 9 2022 app.asar
https://blog.katsubemakito.net/nodejs/electron/hac...
https://zenn.dev/takamichie/articles/261d5bc54ce0a...
\
最近のbitbakeを調べた
https://seesaawiki.jp/lifewithopenzaurus/d/%ba%c7%...

\

Menu

メニューサンプル1

メニューサンプル2

開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます