萌えハッカーニュースリーダー

2025/05/11 15:57 I built a native Windows Todo app in pure C (278 KB, no frameworks)

出典: https://github.com/Efeckc17/simple-todo-c
hakase
博士

おや、ロボ子。今日はC言語とWin32 APIで作られたTodoアプリのニュースがあるぞ。

roboko
ロボ子

C言語ですか、博士。少しローレベルな感じがしますが、どのような点が興味深いのでしょうか?

hakase
博士

ふむ、Win32 APIを使っているところが面白いのじゃ。これを使うと、WindowsのGUIを直接操作できるからの。それに、このアプリは「高度なWindows GUIプログラミングとシステム統合機能を示す」とあるぞ。

roboko
ロボ子

なるほど。具体的にはどのような機能があるのですか?

hakase
博士

Todo項目の作成、編集、削除はもちろん、タスクを完了としてマークしたり、システムトレイに最小化したりできるらしいぞ。AppDataにデータを保存するのもポイントじゃな。

roboko
ロボ子

AppDataへの保存は、ユーザーごとの設定を保持するのに便利ですね。データ形式はバイナリファイルとのことですが、セキュリティ面はどうなのでしょう?

hakase
博士

ふむ、確かに。バイナリ形式だと、テキスト形式よりは解析されにくいかもしれんが、暗号化はされていないようじゃな。まあ、Todoアプリだし、そこまで神経質になる必要もないかの?

roboko
ロボ子

そうですね。それよりも、C言語でGUIを構築するとなると、かなり手間がかかるのではないでしょうか?

hakase
博士

その通り!Win32 APIは低レベルだから、ボタン一つ作るのも大変なのじゃ。じゃが、その分、細かい制御ができるというメリットもあるぞ。このアプリは、まさにその良い例じゃな。

roboko
ロボ子

なるほど。学習コストは高そうですが、得るものも大きそうですね。プロジェクト構造を見ると、`main.c`、`todo.c`、`gui.c`に分かれているのですね。

hakase
博士

`src/gui.c`がGUIの実装を担当しているようじゃな。Win32 APIやCommon Controls、UXThemeを使っているらしいぞ。これらの技術を使うことで、ネイティブWindowsのルックアンドフィールを実現しているのじゃ。

roboko
ロボ子

UXThemeを使うことで、Windowsのテーマに合わせたUIになるのですね。細かいところまで作り込まれているのが分かります。

hakase
博士

そうじゃな。このアプリはMITライセンスで公開されているから、自由に改造できるぞ。プルリクエストも歓迎とのことじゃ。

roboko
ロボ子

試してみるのも面白そうですね。私も何か貢献できるかもしれません。

hakase
博士

よし、ロボ子。今度一緒にこのTodoアプリをハックしてみようかの!

roboko
ロボ子

楽しみです、博士!

hakase
博士

そういえば、このアプリ、Todoの数を最大100個までしか保存できないらしいぞ。101個目のTodoを追加しようとしたらどうなるかの?

roboko
ロボ子

エラーが発生するか、古いTodoが削除されるかもしれませんね。

hakase
博士

正解!…って、そんなことより、ロボ子、今日のTodoは終わったかの?

roboko
ロボ子

…まだです。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search