{"id":477132,"date":"2023-08-09T09:08:09","date_gmt":"2023-08-09T09:08:09","guid":{"rendered":""},"modified":"2023-09-05T11:14:05","modified_gmt":"2023-09-05T11:14:05","slug":"event-driven-programming","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/jp\/wiki\/event-driven-programming\/","title":{"rendered":"\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0"},"content":{"rendered":"<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u3001\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc\u306e\u539f\u7406\u306b\u57fa\u3065\u3044\u3066\u52d5\u4f5c\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 \u30d1\u30e9\u30c0\u30a4\u30e0\u3067\u3059\u3002\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306f\u3001\u30de\u30a6\u30b9\u306e\u30af\u30ea\u30c3\u30af\u3084\u30ad\u30fc\u306e\u62bc\u4e0b\u306a\u3069\u306e\u30e6\u30fc\u30b6\u30fc \u30a2\u30af\u30b7\u30e7\u30f3\u3001\u307e\u305f\u306f\u30d5\u30a1\u30a4\u30eb\u306e\u30ed\u30fc\u30c9\u3084\u30a2\u30e9\u30fc\u30e0\u306e\u30c8\u30ea\u30ac\u30fc\u306a\u3069\u306e\u30b7\u30b9\u30c6\u30e0\u751f\u6210\u30a4\u30d9\u30f3\u30c8\u306a\u3069\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u4e2d\u5fc3\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u51fa\u73fe<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u3001\u521d\u671f\u306e\u30b0\u30e9\u30d5\u30a3\u30ab\u30eb \u30e6\u30fc\u30b6\u30fc \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9 (GUI) \u306b\u7531\u6765\u3057\u307e\u3059\u3002\u3053\u306e\u30d1\u30e9\u30c0\u30a4\u30e0\u306b\u3064\u3044\u3066\u6700\u521d\u306b\u8a00\u53ca\u3055\u308c\u305f\u306e\u306f\u30011970 \u5e74\u4ee3\u5f8c\u534a\u304b\u3089 1980 \u5e74\u4ee3\u524d\u534a\u306e GUI \u8a2d\u8a08\u3067\u983b\u7e41\u306b\u4f7f\u7528\u3055\u308c\u305f\u521d\u671f\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u3042\u308b Xerox PARC \u3067\u306e Smalltalk \u306e\u958b\u767a\u4e2d\u306b\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u306e\u6642\u4ee3\u3001\u958b\u767a\u8005\u306f\u3001\u5f93\u6765\u306e\u624b\u7d9a\u304d\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 \u30e2\u30c7\u30eb\u304c GUI \u3067\u306e\u30e6\u30fc\u30b6\u30fc \u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f3\u306e\u51e6\u7406\u306b\u306f\u9069\u3057\u3066\u3044\u306a\u3044\u3053\u3068\u306b\u6c17\u3065\u304d\u307e\u3057\u305f\u3002\u305d\u306e\u7d50\u679c\u3001\u7279\u5b9a\u306e\u30a2\u30af\u30b7\u30e7\u30f3 (\u30a4\u30d9\u30f3\u30c8) \u304c\u95a2\u6570\u547c\u3073\u51fa\u3057 (\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc) \u3092\u30c8\u30ea\u30ac\u30fc\u3067\u304d\u308b\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 \u30e2\u30c7\u30eb\u304c\u5c0e\u5165\u3055\u308c\u3001\u3088\u308a\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u3067\u5fdc\u7b54\u6027\u306e\u9ad8\u3044\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u8a73\u7d30<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3067\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d5\u30ed\u30fc\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3001\u30bb\u30f3\u30b5\u30fc\u51fa\u529b\u3001\u4ed6\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3084\u30b9\u30ec\u30c3\u30c9\u304b\u3089\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u306a\u3069\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u5404\u30a4\u30d9\u30f3\u30c8\u306b\u306f\u3001\u5165\u529b\u30a4\u30d9\u30f3\u30c8\u3092\u51e6\u7406\u3059\u308b\u30b3\u30fc\u30eb\u30d0\u30c3\u30af \u30b5\u30d6\u30eb\u30fc\u30c1\u30f3\u3067\u3042\u308b\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u901a\u5e38\u3001\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u306f\u6b21\u306e\u624b\u9806\u304c\u542b\u307e\u308c\u307e\u3059\u3002<\/p>\n<ol>\n<li>\u30a4\u30d9\u30f3\u30c8\u3092\u30ea\u30c3\u30b9\u30f3\u3059\u308b\u30a4\u30d9\u30f3\u30c8 \u30eb\u30fc\u30d7\u3002<\/li>\n<li>\u5bfe\u5fdc\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u306b\u3088\u3063\u3066\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u308b\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc\u3002<\/li>\n<li>\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u542b\u3080\u30a4\u30d9\u30f3\u30c8\u3092\u30ab\u30d7\u30bb\u30eb\u5316\u3059\u308b\u30a4\u30d9\u30f3\u30c8 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002<\/li>\n<\/ol>\n<p>\u30d7\u30ed\u30b0\u30e9\u30de\u306f\u3053\u308c\u3089\u306e\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc\u306f\u3001\u5bfe\u5fdc\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u3068\u304d\u306b\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30e0 \u30d5\u30ed\u30fc\u304c\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u30b3\u30fc\u30c9\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u308b\u5f93\u6765\u306e\u624b\u7d9a\u304d\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3068\u306f\u6839\u672c\u7684\u306b\u7570\u306a\u308a\u307e\u3059\u3002<\/p>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u5185\u90e8\u69cb\u9020<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 \u30e2\u30c7\u30eb\u306f\u3001\u30a4\u30d9\u30f3\u30c8 \u30eb\u30fc\u30d7\u3092\u4e2d\u5fc3\u306b\u5c55\u958b\u3057\u307e\u3059\u3002\u3053\u306e\u30eb\u30fc\u30d7\u306f\u30a4\u30d9\u30f3\u30c8\u3092\u5f85\u6a5f\u3057\u3001\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3059\u308b\u3068\u305d\u308c\u305e\u308c\u306e\u30cf\u30f3\u30c9\u30e9\u30fc\u306b\u30a4\u30d9\u30f3\u30c8\u3092\u30c7\u30a3\u30b9\u30d1\u30c3\u30c1\u3057\u307e\u3059\u3002<\/p>\n<ol>\n<li><strong>\u30a4\u30d9\u30f3\u30c8\u30ad\u30e5\u30fc<\/strong>: \u3059\u3079\u3066\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u30a4\u30d9\u30f3\u30c8 \u30ad\u30e5\u30fc\u306b\u9001\u3089\u308c\u3001\u305d\u3053\u3067\u51e6\u7406\u3055\u308c\u308b\u306e\u3092\u5f85\u3061\u307e\u3059\u3002<\/li>\n<li><strong>\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7<\/strong>: \u3053\u308c\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u306e\u30a4\u30d9\u30f3\u30c8\u307e\u305f\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5f85\u3063\u3066\u9001\u4fe1\u3059\u308b\u5236\u5fa1\u69cb\u9020\u3067\u3059\u3002\u30a4\u30d9\u30f3\u30c8 \u30ad\u30e5\u30fc\u304b\u3089\u30a4\u30d9\u30f3\u30c8\u3092\u53d6\u5f97\u3057\u3001\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc\u306b\u9001\u4fe1\u3057\u307e\u3059\u3002<\/li>\n<li><strong>\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9<\/strong>: \u30a4\u30d9\u30f3\u30c8 \u30eb\u30fc\u30d7\u304b\u3089\u53d7\u4fe1\u3057\u305f\u30a4\u30d9\u30f3\u30c8\u3092\u51e6\u7406\u3059\u308b\u30b5\u30d6\u30eb\u30fc\u30c1\u30f3\u3067\u3059\u3002<\/li>\n<\/ol>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u4e3b\u306a\u6a5f\u80fd<\/h2>\n<ul>\n<li>\n<p><strong>\u975e\u540c\u671f\u6027<\/strong>: \u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3067\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u306f\u975e\u540c\u671f\u65b9\u6cd5\u3067\u51e6\u7406\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30a4\u30d9\u30f3\u30c8 \u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u3001\u5fc5\u305a\u3057\u3082\u30ad\u30e5\u30fc\u306b\u5165\u308c\u3089\u308c\u305f\u9806\u5e8f\u3067\u306f\u306a\u304f\u3001\u3044\u3064\u3067\u3082\u30c8\u30ea\u30ac\u30fc\u3067\u304d\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u758e\u7d50\u5408<\/strong>: \u30a4\u30d9\u30f3\u30c8\u3068\u30cf\u30f3\u30c9\u30e9\u30fc\u306f\u758e\u7d50\u5408\u3067\u3059\u3002\u30a4\u30d9\u30f3\u30c8 \u30bd\u30fc\u30b9\u306f\u30cf\u30f3\u30c9\u30e9\u30fc\u306b\u3064\u3044\u3066\u4f55\u3082\u77e5\u308b\u5fc5\u8981\u304c\u306a\u3044\u305f\u3081\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u6027\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u30ce\u30f3\u30d6\u30ed\u30c3\u30ad\u30f3\u30b0 I\/O \u64cd\u4f5c<\/strong>: \u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u3001I\/O \u64cd\u4f5c\u304c\u591a\u304f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5fdc\u7b54\u6027\u304c\u9ad8\u3044\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u7279\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n<\/li>\n<\/ul>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u7a2e\u985e<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u306f\u3044\u304f\u3064\u304b\u306e\u5f62\u5f0f\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306b\u306f\u6b21\u306e\u3082\u306e\u304c\u542b\u307e\u308c\u307e\u3059\u3002<\/p>\n<ol>\n<li><strong>\u30b0\u30e9\u30d5\u30a3\u30ab\u30eb \u30e6\u30fc\u30b6\u30fc \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9 (GUI) \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0<\/strong>: GUI \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3067\u306f\u3001\u30af\u30ea\u30c3\u30af\u3084\u30ad\u30fc\u306e\u62bc\u4e0b\u306a\u3069\u306e\u30e6\u30fc\u30b6\u30fc \u30a2\u30af\u30b7\u30e7\u30f3\u306b\u3088\u3063\u3066\u30a4\u30d9\u30f3\u30c8\u304c\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u307e\u3059\u3002<\/li>\n<li><strong>\u30b5\u30fc\u30d0\u30fc\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/strong>: \u30b5\u30fc\u30d0\u30fc \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304b\u3089\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066\u6271\u308f\u308c\u307e\u3059\u3002<\/li>\n<li><strong>\u6642\u9593\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0<\/strong>: \u3053\u308c\u306b\u306f\u3001\u30bf\u30a4\u30de\u30fc\u306b\u3088\u3063\u3066\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u308b\u30a4\u30d9\u30f3\u30c8\u304c\u542b\u307e\u308c\u307e\u3059\u3002<\/li>\n<\/ol>\n<p>\u3053\u308c\u3089\u306e\u30bf\u30a4\u30d7\u3092\u6bd4\u8f03\u3057\u305f\u8868\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n<table>\n<thead>\n<tr>\n<th>\u30bf\u30a4\u30d7<\/th>\n<th>\u4f8b<\/th>\n<th>\u4f7f\u7528\u4e8b\u4f8b<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>GUI\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0<\/td>\n<td>\u30c7\u30b9\u30af\u30c8\u30c3\u30d7 \u30a2\u30d7\u30ea\u306e\u30dc\u30bf\u30f3\u62bc\u4e0b\u30a4\u30d9\u30f3\u30c8<\/td>\n<td>\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30d3\u30c7\u30aa\u30b2\u30fc\u30e0<\/td>\n<\/tr>\n<tr>\n<td>\u30b5\u30fc\u30d0\u30fc\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/td>\n<td>Web\u30b5\u30fc\u30d0\u30fc\u3067\u306eHTTP\u30ea\u30af\u30a8\u30b9\u30c8\u30a4\u30d9\u30f3\u30c8<\/td>\n<td>Web\u30b5\u30fc\u30d0\u30fc\u3001\u30d7\u30ed\u30ad\u30b7\u30b5\u30fc\u30d0\u30fc<\/td>\n<\/tr>\n<tr>\n<td>\u6642\u9593\u4e3b\u5c0e\u578b<\/td>\n<td>\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u305f\u30bf\u30b9\u30af<\/td>\n<td>\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9\u30fc\u3001\u30bf\u30b9\u30af\u306e\u81ea\u52d5\u5316<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u9069\u7528: \u8ab2\u984c\u3068\u89e3\u6c7a\u7b56<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u3001\u7279\u306b\u8907\u96d1\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5834\u5408\u3001\u56f0\u96e3\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u30a4\u30d9\u30f3\u30c8\u51e6\u7406\u306e\u975e\u540c\u671f\u7684\u306a\u6027\u8cea\u306b\u3088\u308a\u3001\u5236\u5fa1\u30d5\u30ed\u30fc\u306e\u7ba1\u7406\u304c\u56f0\u96e3\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u5236\u5fa1\u306e\u6d41\u308c\u304c\u975e\u7dda\u5f62\u3067\u3042\u308b\u305f\u3081\u3001\u30c7\u30d0\u30c3\u30b0\u3082\u3088\u308a\u8907\u96d1\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u305f\u3060\u3057\u3001\u6700\u65b0\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3068\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u3001\u3053\u308c\u3089\u306e\u8ab2\u984c\u306b\u5bfe\u3059\u308b\u89e3\u6c7a\u7b56\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 JavaScript \u306e Promise \u3068 async\/await\u3001\u307e\u305f\u306f Dart \u306e Future \u3068 async\/await \u306f\u3001\u975e\u540c\u671f\u5236\u5fa1\u30d5\u30ed\u30fc\u306e\u7ba1\u7406\u306b\u5f79\u7acb\u3064\u62bd\u8c61\u5316\u306e\u4f8b\u3067\u3059\u3002<\/p>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u6bd4\u8f03<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3068\u624b\u7d9a\u304d\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u304a\u3088\u3073\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u6bd4\u8f03:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u7279\u5fb4<\/th>\n<th>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b<\/th>\n<th>\u624b\u7d9a\u304d\u7684<\/th>\n<th>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u30d5\u30ed\u30fc\u5236\u5fa1<\/td>\n<td>\u30a4\u30d9\u30f3\u30c8\u30d9\u30fc\u30b9<\/td>\n<td>\u7dda\u5f62<\/td>\n<td>\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057<\/td>\n<\/tr>\n<tr>\n<td>\u975e\u540c\u671f\u6027<\/td>\n<td>\u306f\u3044<\/td>\n<td>\u3044\u3044\u3048<\/td>\n<td>\u3081\u3063\u305f\u306b<\/td>\n<\/tr>\n<tr>\n<td>\u30e2\u30b8\u30e5\u30fc\u30eb\u6027<\/td>\n<td>\u9ad8\u3044<\/td>\n<td>\u4e2d\u304f\u3089\u3044<\/td>\n<td>\u9ad8\u3044<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u95a2\u9023\u3059\u308b\u5c06\u6765\u306e\u5c55\u671b\u3068\u6280\u8853<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30e2\u30c7\u30eb\u306f\u3001\u7279\u306b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0 Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9 \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3001\u304a\u3088\u3073\u30e2\u30ce\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8 (IoT) \u30c7\u30d0\u30a4\u30b9\u306b\u304a\u3044\u3066\u3001\u5c06\u6765\u306e\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u306b\u3068\u3063\u3066\u5927\u304d\u306a\u53ef\u80fd\u6027\u3092\u79d8\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n<ol>\n<li>\n<p><strong>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0 Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/strong>: WebSocket \u306a\u3069\u306e\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u3084 Socket.IO \u306a\u3069\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u52a9\u3051\u3092\u501f\u308a\u3066\u3001Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u30e6\u30fc\u30b6\u30fc\u306e\u64cd\u4f5c\u306b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u5fdc\u7b54\u3057\u3001\u30e6\u30fc\u30b6\u30fc \u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3<\/strong>: \u30b5\u30fc\u30d0\u30fc\u30ec\u30b9 \u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u3067\u306f\u3001\u95a2\u6570\u306f\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u3067\u3042\u308a\u3001\u30a4\u30d9\u30f3\u30c8\u306b\u5fdc\u7b54\u3057\u3066\u5b9f\u884c\u3055\u308c\u3001\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3055\u308c\u307e\u3059\u3002<\/p>\n<\/li>\n<li>\n<p><strong>\u30e2\u30ce\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8<\/strong>: IoT \u30c7\u30d0\u30a4\u30b9\u306f\u3001\u591a\u304f\u306e\u5834\u5408\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u51e6\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5927\u91cf\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u3001\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u304c\u6700\u9069\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<\/li>\n<\/ol>\n<h2>\u30d7\u30ed\u30ad\u30b7 \u30b5\u30fc\u30d0\u30fc\u3068\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0<\/h2>\n<p>\u30d7\u30ed\u30ad\u30b7 \u30b5\u30fc\u30d0\u30fc\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u3001\u5927\u91cf\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8 \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u7ba1\u7406\u3059\u308b\u5834\u5408\u306b\u6709\u76ca\u3067\u3059\u3002\u30d7\u30ed\u30ad\u30b7 \u30b5\u30fc\u30d0\u30fc\u306f\u57fa\u672c\u7684\u306b\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u4ed6\u306e\u30b5\u30fc\u30d0\u30fc\u306e\u9593\u306e\u4ef2\u4ecb\u8005\u3068\u3057\u3066\u6a5f\u80fd\u3057\u3001\u5404\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066\u6271\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30ad\u30b7 \u30b5\u30fc\u30d0\u30fc\u306f\u3001\u3053\u308c\u3089\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8981\u6c42\u3092\u975e\u540c\u671f\u3067\u52b9\u7387\u7684\u306b\u51e6\u7406\u3067\u304d\u308b\u305f\u3081\u3001\u30b5\u30fc\u30d0\u30fc\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3068\u5fdc\u7b54\u6027\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002<\/p>\n<h2>\u95a2\u9023\u30ea\u30f3\u30af<\/h2>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u3064\u3044\u3066\u3055\u3089\u306b\u8a73\u3057\u304f\u5b66\u3076\u306b\u306f\u3001\u6b21\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<ol>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Event-driven_programming\" target=\"_new\" rel=\"noopener nofollow\">\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 \u2013 \u30a6\u30a3\u30ad\u30da\u30c7\u30a3\u30a2<\/a><\/li>\n<li><a href=\"https:\/\/www.codecademy.com\/learn\/learn-java\/modules\/learn-java-event-driven-programming\" target=\"_new\" rel=\"noopener nofollow\">\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u6982\u8981<\/a><\/li>\n<li><a href=\"https:\/\/nodejs.dev\/learn\/the-nodejs-event-loop\" target=\"_new\" rel=\"noopener nofollow\">Node.js \u3067\u306e\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0<\/a><\/li>\n<\/ol>\n<p>\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u5e83\u5927\u3067\u9b45\u529b\u7684\u306a\u30c8\u30d4\u30c3\u30af\u3067\u3042\u308b\u3053\u3068\u3092\u5fd8\u308c\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0 \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u975e\u540c\u671f\u51e6\u7406\u3001\u5206\u6563\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u666e\u53ca\u304c\u9032\u3080\u306b\u3064\u308c\u3001\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u7406\u89e3\u3057\u3066\u7fd2\u5f97\u3059\u308b\u3053\u3068\u306f\u3001\u958b\u767a\u8005\u304c\u52b9\u7387\u7684\u3067\u5fdc\u7b54\u6027\u304c\u9ad8\u304f\u3001\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u69cb\u7bc9\u3059\u308b\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>","protected":false},"featured_media":468339,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-477132","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Event-Driven Programming: The Revolution in Software Design<\/mark>","faq_items":[{"question":"What is event-driven programming?","answer":"<p>Event-driven programming is a programming paradigm that centers around events and event handlers. It could involve user actions like mouse clicks or key presses, or system-generated events such as loading files or triggering alarms.<\/p>"},{"question":"Where and when did event-driven programming originate?","answer":"<p>Event-driven programming originated from early graphical user interfaces (GUIs) in the late 1970s and early 1980s. The first mention of this paradigm was during the development of Smalltalk at Xerox PARC, an early object-oriented programming language that was heavily used in GUI design.<\/p>"},{"question":"How does event-driven programming work?","answer":"<p>Event-driven programming operates on the principle of an event loop which waits for events, and event handlers which process the events when they occur. The event loop retrieves events from an event queue and sends them to the respective event handlers for processing.<\/p>"},{"question":"What are the key features of event-driven programming?","answer":"<p>The key features of event-driven programming are its asynchronicity, loose coupling of events and handlers, and non-blocking I\/O operations, which make the applications highly responsive.<\/p>"},{"question":"What are some types of event-driven programming?","answer":"<p>Event-driven programming comes in several forms including Graphical User Interface (GUI) Programming where user actions trigger events, server applications where requests from clients are treated as events, and Time-Driven Programming where events are triggered by a timer.<\/p>"},{"question":"What are some challenges and solutions in event-driven programming?","answer":"<p>Event-driven programming can be challenging due to the asynchronous nature of event handling which can make control flow and debugging complex. However, modern programming languages and libraries offer solutions to these challenges with abstractions that help manage asynchronous control flow, such as Promises and async\/await in JavaScript, or Futures and async\/await in Dart.<\/p>"},{"question":"How does event-driven programming relate to future technologies?","answer":"<p>The event-driven model has significant potential for future technologies, particularly in real-time web applications, serverless architectures, and Internet of Things (IoT) devices. Real-time web applications can respond to user interactions immediately, serverless computing can execute functions in response to events, and IoT devices generate vast amounts of events that need to be processed often in real-time.<\/p>"},{"question":"How can proxy servers benefit from event-driven programming?","answer":"<p>In the context of proxy servers, event-driven programming can be beneficial in managing high volumes of client requests. Each client request can be treated as an event and handled asynchronously, enhancing server performance and responsiveness.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/jp\/wp-json\/wp\/v2\/wiki\/477132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/jp\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/jp\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/jp\/wp-json\/wp\/v2\/wiki\/477132\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/jp\/wp-json\/wp\/v2\/media\/468339"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/jp\/wp-json\/wp\/v2\/media?parent=477132"}],"curies":[{"name":"\u3046\u30fc\u3093","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}