Help
RSS
API
Feed
Maltego
Contact
Domain > 2025.flutterkaigi.jp
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-05-11
172.67.128.42
(
ClassC
)
2026-01-04
104.21.0.178
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Sun, 04 Jan 2026 01:51:53 GMTContent-Type: text/htmlContent-Length: 447116Connection: keep-aliveCF-Cache-Status: HITCache-Control: public, max-age0, must-revalidateETag: 50d3b7d3bac9067087056134f1ff5343Speculation-Rules: /cdn-cgi/speculationVary: accept-encodingReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?saLsDJyJpE%2F7oPc3%2FFg%2B10ma%2BEswMJK8OPaNjrtJSWC70NHrQt783e4AkdTGsMGINWvImsIj3IPDHm%2F1vfMjvwd6fgnlv%2FAq2gexPorUg7r2Hxq3u}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}expect-ct: max-age86400, enforcereferrer-policy: same-originx-content-type-options: nosniffx-frame-options: SAMEORIGINx-xss-protection: 1; modeblockServer: cloudflareCF-RAY: 9b8717e43a5efc1e-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html> head> base href//> meta charsetutf-8/> meta contentIEedge http-equivX-UA-Compatible/> meta propertyog:title contentFlutterKaigi 2025/> meta propertyog:description content2025年、日本国内でFlutterをメインに扱う技術カンファレンス。FlutterやDartの深い知見を持つ開発者によるセッションを多数企画します。/> meta propertyog:image contenthttps://2025.flutterkaigi.jp/img/ogp.png/> meta propertyog:type contentwebsite/> meta propertyog:url contenthttps://2025.flutterkaigi.jp/> meta nametwitter:card contentsummary_large_image/> meta nametwitter:site content@FlutterKaigi/> link href/img/favicon.png relicon typeimage/png/> link href/img/favicon.png relapple-touch-icon/> link hrefstyles.css relstylesheet typetext/css/> script async srchttps://www.googletagmanager.com/gtag/js?idG-L9WHLCCTGM>/script> script> window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(js, new Date()); gtag(config, G-L9WHLCCTGM); /script> !--$--> title>FlutterKaigi 2025/title> meta nameviewport contentwidthdevice-width, initial-scale1.0/> !--/--> script srcmain.clients.dart.js defer>/script> style> .loop { display: flex; width: 100%; position: absolute; top: 1rem; left: 0px; animation: loop 20s linear infinite; } .loop span { color: white; font-family: Lexend, sans-serif; font-style: italic; font-size: 1.5rem; font-weight: 900; flex-grow: 1; } .loop2 { animation-delay: -10s; } .session-info h1 { font-size: 1.5em; font-weight: bold; } .session-info h2 { font-size: 1.2em; font-weight: bold; } .session-info h3 { font-weight: bold; } .session-info p { display: block; white-space: pre-wrap; } .session-info strong { font-weight: bold; } .session-info code { padding: 0.1em 0.2em; border-radius: 0.2em; background-color: lightgray; } .session-info ul { padding-left: 1.5em; display: block; } .session-info li { display: list-item; list-style-type: disc; } /style> /head> body> div styledisplay: flex; width: auto; min-height: 100vh; flex-direction: column> header styleborder-bottom-style: solid; border-bottom-color: rgba(255, 255, 255, 0.4); border-bottom-width: 1px; position: sticky; top: 0px; box-shadow: 0px -8px 12px rgba(0, 0, 0, 0.25), inset 0px -8px 16px 0px rgba(0, 0, 0, 0.06); background-color: rgba(255, 255, 255, 0.4); padding: 1rem; display: flex; z-index: 10; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px)> div> a stylecursor: pointer; color: var(--link-color); text-decoration: underline href/ target_top> img styleheight: 2em; cursor: pointer; vertical-align: middle altFlutterKaigi 2025 logo src/img/icon_flutterkaigi_full_light.svg/> /a> /div> nav styleflex-grow: 1> ul styledisplay: flex; font-size: inherit; flex-direction: row; justify-content: end; align-items: center; gap: 1rem> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline href/job-boards target_top>span stylecursor: pointer; color: inherit; white-space: nowrap>ジョブボード/span>/a> /li> li> ul styledisplay: flex; font-size: inherit; flex-direction: row; align-items: center; gap: 0.5rem> li>|/li> li>JA/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline href/en target_top>EN/a> /li> /ul> /li> /ul> /nav> /header> main classmain-background stylepadding-left: 32px; padding-right: 32px; display: flex; overflow: hidden; flex-direction: column; align-items: center; gap: 2rem; flex-grow: 1> article stylemargin-top: 2rem; display: flex; flex-direction: column; justify-content: center; align-items: center> div stylepadding-bottom: 32px; display: flex; width: 100%; overflow: hidden; position: absolute; top: calc(65px + 2rem); left: 0px; right: 0px; justify-content: center; align-items: center> img src/img/graphic-top-sub.svg/> div stylepadding: 160px 270px 190px 250px; display: flex; background-image: url(/img/graphic-top-main.svg); background-position: initial; background-repeat: no-repeat; filter: drop-shadow(4px 32px 0px #EAEAEA)>div stylewidth: 350px; height: 240px>/div>/div> img src/img/graphic-top-sub.svg/> /div> div stylepadding: 160px 270px 190px 250px; display: flex; z-index: 2> div styledisplay: flex; width: 350px; height: 240px; flex-direction: column; justify-content: center; align-items: center; gap: 1rem> h1 stylecolor: white; font-family: Lexend, sans-serif; font-size: 2rem; font-weight: bold>FlutterKaigi 2025/h1> div styledisplay: flex; flex-direction: column; align-items: center> div stylepadding-top: 4px; padding-bottom: 4px; display: flex; color: white; align-items: center; gap: 12px> img stylewidth: 1.5rem; height: 1.5rem src/img/icon/event.svg/> p stylecolor: inherit; font-family: Lexend, sans-serif; font-size: 1rem>November 13, 2025/p> /div> div stylepadding-top: 4px; padding-bottom: 4px; display: flex; color: white; align-items: center; gap: 12px> img stylewidth: 1.5rem; height: 1.5rem src/img/icon/map.svg/> p stylecolor: inherit; font-family: Lexend, sans-serif; font-size: 1rem> a stylecursor: pointer; color: inherit; text-decoration: underline hrefhttps://otemachi-place-hc.jp/ target_blank>Otemachi PLACE HALL & CONFERENCE/a> /p> /div> a stylemargin-top: 2rem hrefhttps://docs.google.com/forms/d/e/1FAIpQLSfURb3WL8mWP0K1SJDnjCsnMSjIkhCkG2ku9sj_MX4a3rOOmw/viewform target_blank> button classprimary-button primary-button-reverse styledisplay: flex; position: relative; cursor: pointer; color: var(--color-beyond-red); font-size: 1rem; justify-content: center; gap: 1rem> アンケートに回答する div stylewidth: 1.5em; height: 1.5em; background-color: var(--color-beyond-red); mask: url(/img/icon/open-in-new.svg) no-repeat center; -webkit-mask: url(/img/icon/open-in-new.svg) no-repeat center>/div> /button> /a> p stylemargin-top: 1rem; display: flex; color: white; gap: 0.5em> Geta stylecursor: pointer; color: inherit; text-decoration: underline hrefhttps://apps.apple.com/jp/app/flutterkaigi-2025/id6753943930 target_blank>iOS App/a>ora stylecursor: pointer; color: inherit; text-decoration: underline hrefhttps://play.google.com/store/apps/details?idjp.flutterkaigi.conf2025&pli1 target_blank>Android App/a> /p> p stylemargin-top: 1rem; color: white; font-style: italic>Thank you!/p> /div> /div> /div> /article> section idnews stylemargin-top: 2rem; display: flex; width: 100%; max-width: 1000px; flex-direction: column; justify-content: start> h2 stylemargin-bottom: 1.5rem; font-family: Lexend; font-size: 2rem; font-weight: 900>News/h2> div stylepadding-top: 1rem; padding-bottom: 1rem; display: flex; flex-direction: column; justify-content: space-around; align-items: center; gap: 1rem> ul styledisplay: flex; flex-direction: column; gap: 0.5rem> li> a stylecursor: pointer; color: var(--text-color); text-decoration: underline hrefhttps://medium.com/flutterkaigi/flutterkaigi-2025-交流企画のご紹介-43e957131718 target_blank>FlutterKaigi 2025 交流企画のご紹介 🎉/a> /li> li> a stylecursor: pointer; color: var(--text-color); text-decoration: underline hrefhttps://medium.com/flutterkaigi/flutterkaigi-2025-会場受付のご案内-b02df49db95a target_blank>FlutterKaigi 2025 会場受付のご案内/a> /li> li> a stylecursor: pointer; color: var(--text-color); text-decoration: underline hrefhttps://medium.com/flutterkaigi/flutterkaigi-2025-プロモーションディスプレイについて-2108b9a6a68d target_blank>FlutterKaigi 2025 プロモーション・スクリーンについて 📺/a> /li> li> a stylecursor: pointer; color: var(--text-color); text-decoration: underline hrefhttps://medium.com/flutterkaigi/flutterkaigi-2025-企画紹介-28eeb1c7c585 target_blank>FlutterKaigi 2025 企画紹介 🎉/a> /li> li> a stylecursor: pointer; color: var(--text-color); text-decoration: underline hrefhttps://medium.com/flutterkaigi/flutterkaigi-2025-スカラシップ制度のお知らせ-672a6321bad8 target_blank>FlutterKaigi 2025 スカラシップ制度のお知らせ/a> /li> /ul> a hrefhttps://medium.com/flutterkaigi target_blank> button classprimary-button styledisplay: flex; position: relative; cursor: pointer; justify-content: center; gap: 1rem> span stylecolor: white; font-size: 1rem>全てのお知らせを見る/span> div stylewidth: 1.5em; height: 1.5em; background-color: #e3e3e3; mask: url(/img/icon/open-in-new.svg) no-repeat center; -webkit-mask: url(/img/icon/open-in-new.svg) no-repeat center>/div> /button> /a> /div> /section> div styledisplay: flex; flex-direction: row; justify-content: center; align-items: center; flex-grow: 1> p stylepadding: 0.75rem 1.5rem; border: solid var(--border-color); border-radius: 1rem 1rem 0rem 1rem; font-size: 1.25rem; font-weight: bold>FlutterKaigi 2025!/p> img stylewidth: 8rem; animation: 1.5s ease-in-out infinite alternate bounding altFlutterKaigi Dash src/img/flutterkaigi_dash.png/> /div> section stylewidth: 100vw; height: 4rem; min-width: 600px; overflow: hidden; position: relative; background-color: var(--color-beyond-red)> div classloop>span>Dash into Innovation./span>span>Dash into Innovation./span>/div> div classloop loop2>span>Dash into Innovation./span>span>Dash into Innovation./span>/div> /section> section idtimeline stylemargin-top: 2rem; display: flex; width: 100%; max-width: 1000px; flex-direction: column; justify-content: start> h2 stylemargin-bottom: 1.5rem; font-family: Lexend; font-size: 2rem; font-weight: 900>Timeline/h2> ul stylepadding: 1.5em; display: grid; border-radius: 2rem; overflow-x: scroll; font-size: 0.75rem; animation: scroll-shadow-inset linear; animation-timeline: scroll(self x); grid-template-rows: auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto auto; grid-template-columns: auto 1fr 1fr 1fr 1fr> li stylepadding-left: 1rem; font-family: Lexend, sans-serif; font-size: 1.2rem; font-weight: bold; grid-row: 1; grid-column: 2>ASSIGN Hall/li> li stylepadding-left: 1rem; font-family: Lexend, sans-serif; font-size: 1.2rem; font-weight: bold; grid-row: 1; grid-column: 3>RevenueCat Hall/li> li stylepadding-left: 1rem; font-family: Lexend, sans-serif; font-size: 1.2rem; font-weight: bold; grid-row: 1; grid-column: 4>Skia/li> li stylepadding-left: 1rem; font-family: Lexend, sans-serif; font-size: 1.2rem; font-weight: bold; grid-row: 1; grid-column: 5>Impeller/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 2; grid-column: 1>09:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 5; grid-column: 1>09:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 8; grid-column: 1>09:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 11; grid-column: 1>09:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 14; grid-column: 1>10:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 17; grid-column: 1>10:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 20; grid-column: 1>10:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 23; grid-column: 1>10:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 26; grid-column: 1>11:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 29; grid-column: 1>11:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 32; grid-column: 1>11:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 35; grid-column: 1>11:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 38; grid-column: 1>12:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 41; grid-column: 1>12:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 44; grid-column: 1>12:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 47; grid-column: 1>12:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 50; grid-column: 1>13:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 53; grid-column: 1>13:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 56; grid-column: 1>13:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 59; grid-column: 1>13:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 62; grid-column: 1>14:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 65; grid-column: 1>14:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 68; grid-column: 1>14:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 71; grid-column: 1>14:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 74; grid-column: 1>15:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 77; grid-column: 1>15:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 80; grid-column: 1>15:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 83; grid-column: 1>15:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 86; grid-column: 1>16:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 89; grid-column: 1>16:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 92; grid-column: 1>16:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 95; grid-column: 1>16:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 98; grid-column: 1>17:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 101; grid-column: 1>17:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 104; grid-column: 1>17:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 107; grid-column: 1>17:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 110; grid-column: 1>18:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 113; grid-column: 1>18:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 116; grid-column: 1>18:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 119; grid-column: 1>18:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 122; grid-column: 1>19:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 125; grid-column: 1>19:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 128; grid-column: 1>19:30/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 131; grid-column: 1>19:45/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 134; grid-column: 1>20:00/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 137; grid-column: 1>20:15/li> li stylemargin-bottom: 1rem; height: 1em; border-radius: 1em; position: sticky; left: 0em; font-size: inherit; white-space: inherit; background-color: rgb(from var(--background-color) r g b / 0.25); grid-row: 140; grid-column: 1>20:30/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 2 / 2 / 14 / 6>開場/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 23 / 2 / 26 / 5>休憩/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 32 / 2 / 35 / 5>休憩/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 41 / 2 / 56 / 6>休憩/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 71 / 2 / 74 / 5>休憩/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 83 / 2 / 86 / 5>休憩/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 92 / 2 / 95 / 6>休憩/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 101 / 2 / 104 / 6>休憩/li> li stylepadding: 0.25rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; display: flex; border: solid var(--border-color) 2px; border-radius: 0.5rem; overflow: hidden; font-family: Lexend, sans-serif; font-size: inherit; text-align: center; text-overflow: ellipsis; white-space: inherit; background-color: white; justify-content: center; align-items: center; grid-area: 110 / 2 / 116 / 6>休憩/li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 5.25rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 14 / 2 / 17 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:挨拶,url:null,venueName:ASSIGN Hall,startHour:10,startMinute:0,description:null,speakers:,speakerAvatarUrls:,speakerXIds:}--> div> button styleposition: relative>挨拶/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>挨拶/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>ASSIGN Hall 10:00/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>15 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 5.25rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 14 / 3 / 17 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:挨拶(サテライト),url:null,venueName:RevenueCat Hall,startHour:10,startMinute:0,description:null,speakers:,speakerAvatarUrls:,speakerXIds:}--> div> button styleposition: relative>挨拶(サテライト)/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>挨拶(サテライト)/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>RevenueCat Hall 10:00/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>15 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 31.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 23 / 5 / 41 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:学生支援,url:null,venueName:Impeller,startHour:10,startMinute:45,description:null,speakers:,speakerAvatarUrls:,speakerXIds:}--> div> button styleposition: relative>学生支援/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>学生支援/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>Impeller 10:45/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>90 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 42rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 116 / 2 / 140 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:懇親会,url:null,venueName:ASSIGN Hall,startHour:18,startMinute:30,description:null,speakers:,speakerAvatarUrls:,speakerXIds:}--> div> button styleposition: relative>懇親会/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>懇親会/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>ASSIGN Hall 18:30/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>120 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 42rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 116 / 3 / 140 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:懇親会,url:null,venueName:RevenueCat Hall,startHour:18,startMinute:30,description:null,speakers:,speakerAvatarUrls:,speakerXIds:}--> div> button styleposition: relative>懇親会/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>懇親会/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>RevenueCat Hall 18:30/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>120 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 17 / 2 / 23 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Keynote The Flutter Effect,url:null,venueName:ASSIGN Hall,startHour:10,startMinute:15,description:このセッションThe \Flutter\ Effect では、私の人生を大きく変えたFlutterとの出会いと、その影響についてお話しします。Flutterを学び始めた当初は、ただのモバイル開発フレームワークの一つとして触れていました。しかし、次第にその表現力と開発体験の楽しさに魅了され、Flutterを通じて自分の夢を形にすることができるようになりました。\n\nFlutterでアプリを作り、発表を行い、記事を書く中で多くの人々とつながり、最終的にはGoogle Developer Expert(GDE)として活動する機会を得ました。このトークでは、その過程で得た学びや転機、そしてFlutterコミュニティへの感謝を共有します。\n\nまた、今年一年のFlutterの進化を振り返りながら、技術面・コミュニティ面の両方からFlutterがどのように成長してきたかを紹介します。Flutterが私に与えた影響と、これからFlutterがもたらす新しい可能性を一緒に感じていただければ幸いです。,speakers:金 瑠加須,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/a7a0aa4d-bdf4-4852-a83e-4d7fd64a61ea.jpg,speakerXIds:LucasGoldner}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Keynote The Flutter Effect/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Keynote The Flutter Effect/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>ASSIGN Hall 10:15/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt金 瑠加須のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/a7a0aa4d-bdf4-4852-a83e-4d7fd64a61ea.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/LucasGoldner target_blank>金 瑠加須/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>このセッションThe "Flutter" Effect では、私の人生を大きく変えたFlutterとの出会いと、その影響についてお話しします。Flutterを学び始めた当初は、ただのモバイル開発フレームワークの一つとして触れていました。しかし、次第にその表現力と開発体験の楽しさに魅了され、Flutterを通じて自分の夢を形にすることができるようになりました。/p> p>Flutterでアプリを作り、発表を行い、記事を書く中で多くの人々とつながり、最終的にはGoogle Developer Expert(GDE)として活動する機会を得ました。このトークでは、その過程で得た学びや転機、そしてFlutterコミュニティへの感謝を共有します。/p> p>また、今年一年のFlutterの進化を振り返りながら、技術面・コミュニティ面の両方からFlutterがどのように成長してきたかを紹介します。Flutterが私に与えた影響と、これからFlutterがもたらす新しい可能性を一緒に感じていただければ幸いです。/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 26 / 2 / 32 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutterコントリビューションのススメ,url:https://fortee.jp/flutterkaigi-2025/proposal/d4ab93e7-c6f1-4d40-b7c2-11fb2bf36d1f,venueName:ASSIGN Hall,startHour:11,startMinute:0,description:## 概要\r\n\r\nFlutterに「こんな機能があったら便利なのに」と思ったことはありませんか? 不具合がFlutterのバグによるものであることが判明し、「Flutter SDKのバグが直れば解消できるのですが」と共有したことはありませんか?\r\nFlutterはオープンソースプロジェクトであり、誰でも貢献できます。あなたのアイデアや不満は、あなたの貢献のきっかけになるかもしれません。\r\n\r\n本セッションは「なぜFlutterの開発に\あなた\がなぜ関わるべきなのか」をテーマに、Flutterのコントリビューションの魅力と方法についてお話しします。また、話者がFlutterの開発に関わることで得た知識や経験をもとに、コントリビューションの様々な価値を紹介します。\r\n\r\n## 想定視聴者\r\n\r\n* Flutterの将来性に興味がある方\r\n* Flutterにコントリビューションに向けて背中を押してほしい方,speakers:koji-1009,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/daf94af4-8959-4e8a-baea-bfa12f861a65.jpg,speakerXIds:D_R_1009}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutterコントリビューションのススメ/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutterコントリビューションのススメ/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>ASSIGN Hall 11:00/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/d4ab93e7-c6f1-4d40-b7c2-11fb2bf36d1f target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altkoji-1009のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/daf94af4-8959-4e8a-baea-bfa12f861a65.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/D_R_1009 target_blank>koji-1009/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutterに「こんな機能があったら便利なのに」と思ったことはありませんか? 不具合がFlutterのバグによるものであることが判明し、「Flutter SDKのバグが直れば解消できるのですが」と共有したことはありませんか? Flutterはオープンソースプロジェクトであり、誰でも貢献できます。あなたのアイデアや不満は、あなたの貢献のきっかけになるかもしれません。/p> p>本セッションは「なぜFlutterの開発に"あなた"がなぜ関わるべきなのか」をテーマに、Flutterのコントリビューションの魅力と方法についてお話しします。また、話者がFlutterの開発に関わることで得た知識や経験をもとに、コントリビューションの様々な価値を紹介します。/p> h2>想定視聴者/h2> ul> li>Flutterの将来性に興味がある方/li> li>Flutterにコントリビューションに向けて背中を押してほしい方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 35 / 2 / 41 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutter DevToolsで発見!本番アプリのパフォーマンス問題と改善の実践,url:https://fortee.jp/flutterkaigi-2025/proposal/16574c67-29bb-47a4-8c1e-2c54c352d327,venueName:ASSIGN Hall,startHour:11,startMinute:45,description:## 概要\r\nアプリリリース後、ユーザーから「アプリが重い」との問い合わせが多数寄せられた経験はありませんか?本セッションでは、実際のプロダクションアプリでパフォーマンス問題に直面した際の調査から改善までの実践的なアプローチを共有します。\r\n\r\nFlutter DevToolsを活用したパフォーマンス分析により、不要なリビルド、再描画、UIJankなどの問題を特定し、それらを改善した実体験をもとに、以下の内容をお話しします:\r\n\r\n- Flutter DevToolsを使った効果的なパフォーマンス調査手法\r\n- Riverpodによる状態管理で陥りがちなアンチパターンとその対策\r\n- 画像キャッシュサイズの最適化による描画パフォーマンス向上\r\n\r\n## 想定視聴者\r\n- パフォーマンス問題に悩んでいるFlutter開発者\r\n- Flutter DevToolsの効果的な活用法を知りたい方,speakers:Goto Kosuke,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/c730997b-ec35-456f-96d9-e2b9e01d8479.jpg,speakerXIds:Gotchi0001}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutter DevToolsで発見!本番アプリのパフォーマンス問題と改善の実践/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutter DevToolsで発見!本番アプリのパフォーマンス問題と改善の実践/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>ASSIGN Hall 11:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/16574c67-29bb-47a4-8c1e-2c54c352d327 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altGoto Kosukeのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/c730997b-ec35-456f-96d9-e2b9e01d8479.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Gotchi0001 target_blank>Goto Kosuke/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>アプリリリース後、ユーザーから「アプリが重い」との問い合わせが多数寄せられた経験はありませんか?本セッションでは、実際のプロダクションアプリでパフォーマンス問題に直面した際の調査から改善までの実践的なアプローチを共有します。/p> p>Flutter DevToolsを活用したパフォーマンス分析により、不要なリビルド、再描画、UIJankなどの問題を特定し、それらを改善した実体験をもとに、以下の内容をお話しします:/p> ul> li>Flutter DevToolsを使った効果的なパフォーマンス調査手法/li> li>Riverpodによる状態管理で陥りがちなアンチパターンとその対策/li> li>画像キャッシュサイズの最適化による描画パフォーマンス向上/li> /ul> h2>想定視聴者/h2> ul> li>パフォーマンス問題に悩んでいるFlutter開発者/li> li>Flutter DevToolsの効果的な活用法を知りたい方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 56 / 2 / 62 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:自社テンプレートを実践で使って感じた強みとツラミ,url:https://fortee.jp/flutterkaigi-2025/proposal/9b69e675-752b-4443-ae3e-dda629feb451,venueName:ASSIGN Hall,startHour:13,startMinute:30,description:## 概要\r\n弊社では、中・大規模プロジェクト向けのテンプレートをOSSとして開発しています。\r\n本セッションでは、実際のプロジェクトでテンプレートを使用した際に感じた**強み**と**ツラミ**、そしてそのツラミをどのように乗り越えたかを共有します。\r\nさらに、テンプレートで採用しているパッケージをはじめ、ワークフローやアーキテクチャについても紹介します。実際のプロジェクトで導入する際や、新たに開発基盤を検討する際の参考になれば幸いです。\r\n## 想定視聴者\r\n- Flutterアプリのアーキテクチャ設計や技術選定に悩んでいる方\r\n- 開発生産性を向上させるためのテンプレートやワークフローに興味がある方\r\n- 他の会社のリアルな開発事例(特にうまくいかなかった点)に興味がある方,speakers:おだてつ,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/4362cfa2-c7c3-4459-b9e5-a75408c449be.jpg,speakerXIds:Aosanori620}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>自社テンプレートを実践で使って感じた強みとツラミ/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>自社テンプレートを実践で使って感じた強みとツラミ/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>ASSIGN Hall 13:30/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/9b69e675-752b-4443-ae3e-dda629feb451 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altおだてつのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/4362cfa2-c7c3-4459-b9e5-a75408c449be.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Aosanori620 target_blank>おだてつ/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>弊社では、中・大規模プロジェクト向けのテンプレートをOSSとして開発しています。 本セッションでは、実際のプロジェクトでテンプレートを使用した際に感じたstrong>強み/strong>とstrong>ツラミ/strong>、そしてそのツラミをどのように乗り越えたかを共有します。 さらに、テンプレートで採用しているパッケージをはじめ、ワークフローやアーキテクチャについても紹介します。実際のプロジェクトで導入する際や、新たに開発基盤を検討する際の参考になれば幸いです。/p> h2>想定視聴者/h2> ul> li>Flutterアプリのアーキテクチャ設計や技術選定に悩んでいる方/li> li>開発生産性を向上させるためのテンプレートやワークフローに興味がある方/li> li>他の会社のリアルな開発事例(特にうまくいかなかった点)に興味がある方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 65 / 2 / 71 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutterで挑む次世代認証:Flutter銀行アプリにおける導入実録とその教訓,url:https://fortee.jp/flutterkaigi-2025/proposal/ed60500d-d9f8-48fb-8dd9-a4eb2951cdec,venueName:ASSIGN Hall,startHour:14,startMinute:15,description:## 概要\r\nFlutter製の銀行アプリにFIDOパスキー認証を導入した事例をもとに、クロスプラットフォームでの実装課題と解決策を解説します。ドキュメントにない仕様差や想定外の不具合、検証時の落とし穴など、現場のリアルな学びをお届けします。\r\n\r\n## 想定視聴者\r\nFlutterで認証やネイティブ連携を扱いに興味ある方、初級〜上級開発者,speakers:Yamamoto Kyo,heyhey1028,speakerAvatarUrls:https://2025-bucket.flutterkaigi.jp/speakers/yamamoto-kyo.png,https://2025-bucket.flutterkaigi.jp/speakers/heyhey1028.png,speakerXIds:null,heyhey1028}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutterで挑む次世代認証:Flutter銀行アプリにおける導入実録とその教訓/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutterで挑む次世代認証:Flutter銀行アプリにおける導入実録とその教訓/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>ASSIGN Hall 14:15/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/ed60500d-d9f8-48fb-8dd9-a4eb2951cdec target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altYamamoto Kyoのアバター srchttps://2025-bucket.flutterkaigi.jp/speakers/yamamoto-kyo.png/> Yamamoto Kyo /li> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altheyhey1028のアバター srchttps://2025-bucket.flutterkaigi.jp/speakers/heyhey1028.png/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/heyhey1028 target_blank>heyhey1028/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutter製の銀行アプリにFIDOパスキー認証を導入した事例をもとに、クロスプラットフォームでの実装課題と解決策を解説します。ドキュメントにない仕様差や想定外の不具合、検証時の落とし穴など、現場のリアルな学びをお届けします。/p> h2>想定視聴者/h2> p>Flutterで認証やネイティブ連携を扱いに興味ある方、初級〜上級開発者/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 77 / 2 / 83 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:顧客価値を実現するFlutter:KPI・SLOから考えるキャリア支援アプリのUIUX設計,url:https://fortee.jp/flutterkaigi-2025/proposal/9f280a39-1a78-4167-bc3b-8f2a70f4b90b,venueName:ASSIGN Hall,startHour:15,startMinute:15,description:Flutterの採用理由を問われたとき、私たちは「開発効率」という言葉以外に何を語れるでしょうか。本セッションでは、その問いに対して事業会社の視点から考えます。\r\nキャリア支援サービスという事業ドメインにおいて、達成したい顧客価値を起点にFlutterの能力をいかに戦略的に選択・活用していくか。\r\n事業会社だからこそ向き合う長期的な顧客接点や信頼性の担保といったテーマに対し、Flutterの思想と具体的な設計を結びつけた実践例を共有します。\r\n特に、以下のような抽象的な価値を、Flutterならではの技術で具体的なUXに落とし込むまでの取り組みに焦点を当てます。\r\n・信頼を支えるUI/UXの一貫性: 共通化されたUI状態の設計と表現\r\n・変化し続けるキャリア情報の表現: 状態管理と非同期処理の工夫\r\n・長期利用を前提とした体感品質: パフォーマンス設計と計測の考え方,speakers:Takahiro Sunaga,speakerAvatarUrls:null,speakerXIds:null}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>顧客価値を実現するFlutter:KPI・SLOから考えるキャリア支援アプリのUIUX設計/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>顧客価値を実現するFlutter:KPI・SLOから考えるキャリア支援アプリのUIUX設計/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>ASSIGN Hall 15:15/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/9f280a39-1a78-4167-bc3b-8f2a70f4b90b target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>li styledisplay: flex; align-items: center>Takahiro Sunaga/li>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>Flutterの採用理由を問われたとき、私たちは「開発効率」という言葉以外に何を語れるでしょうか。本セッションでは、その問いに対して事業会社の視点から考えます。 キャリア支援サービスという事業ドメインにおいて、達成したい顧客価値を起点にFlutterの能力をいかに戦略的に選択・活用していくか。 事業会社だからこそ向き合う長期的な顧客接点や信頼性の担保といったテーマに対し、Flutterの思想と具体的な設計を結びつけた実践例を共有します。 特に、以下のような抽象的な価値を、Flutterならではの技術で具体的なUXに落とし込むまでの取り組みに焦点を当てます。 ・信頼を支えるUI/UXの一貫性: 共通化されたUI状態の設計と表現 ・変化し続けるキャリア情報の表現: 状態管理と非同期処理の工夫 ・長期利用を前提とした体感品質: パフォーマンス設計と計測の考え方/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 86 / 2 / 92 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:DartASTとその活用,url:https://fortee.jp/flutterkaigi-2025/proposal/672313ae-bccf-4520-a862-1a88b887fc82,venueName:ASSIGN Hall,startHour:16,startMinute:0,description:# 概要\r\n私たちは日常的にLinterやコードフォーマッター、freezedやjson_serializableといったコード生成ライブラリの恩恵を受けています。これらの強力なツールは、私たちのコードの品質を保ち、開発効率を飛躍的に向上させてくれます。\r\nでは、これらのツールはどのようにして私たちの書いたコードを理解し、解析・変換しているのでしょうか? その答えを探る中で重要になるのが AST (抽象構文木) です。\r\n本セッションでは、Dartの公式に提供されている`analyzer`パッケージを使用し、Dartコードがどのように木構造に変換されるのかを解説します。さらに、そのASTを活用して、実際にカスタムLinterやコードジェネレーターがどのように作られているのか、その仕組みと具体的なアプローチをデモを交えながら紹介します。\r\n\r\n# 対象者\r\n* Dartのコード解析や変換に興味がある方,speakers:そた,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/9812e629-9f1e-4350-b399-cf3797bda08a.jpg,speakerXIds:_sotaatos}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>DartASTとその活用/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>DartASTとその活用/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>ASSIGN Hall 16:00/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/672313ae-bccf-4520-a862-1a88b887fc82 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altそたのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/9812e629-9f1e-4350-b399-cf3797bda08a.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/_sotaatos target_blank>そた/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h1>概要/h1> p>私たちは日常的にLinterやコードフォーマッター、freezedやjson_serializableといったコード生成ライブラリの恩恵を受けています。これらの強力なツールは、私たちのコードの品質を保ち、開発効率を飛躍的に向上させてくれます。 では、これらのツールはどのようにして私たちの書いたコードを理解し、解析・変換しているのでしょうか? その答えを探る中で重要になるのが AST (抽象構文木) です。 本セッションでは、Dartの公式に提供されているcode>analyzer/code>パッケージを使用し、Dartコードがどのように木構造に変換されるのかを解説します。さらに、そのASTを活用して、実際にカスタムLinterやコードジェネレーターがどのように作られているのか、その仕組みと具体的なアプローチをデモを交えながら紹介します。/p> h1>対象者/h1> ul> li>Dartのコード解析や変換に興味がある方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 95 / 2 / 101 / 3> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:アプリバイナリに対する不正対策とセキュリティ向上,url:https://fortee.jp/flutterkaigi-2025/proposal/24388be1-bf63-4094-9e1f-9fbbd1a66547,venueName:ASSIGN Hall,startHour:16,startMinute:45,description:## 概要\r\nアプリはコード改竄やリバースエンジニアリングによる脅威に常に晒されています。\r\nデバイスのルート化や不正ツールの利用によってサービス内での不正利用も考えられます。\r\n\r\n今回は\デバイスから取得可能な物理データをもとにポイントを獲得できるような機能\を題材にして、\r\n不正対策やセキュリティ向上を考えます。\r\n\r\n- バイナリへのセキュリティ\r\n - 暗号化・難読化\r\n- デバイスへのセキュリティ\r\n - Firebase AppCheck活用\r\n - デバイスから取得する物理データの整合性判定\r\n- 複合的なセキュリティ\r\n - ストア設定から取れる対策\r\n\r\n本セッションでは不正のユースケースに対して取れるアプローチをご紹介します。\r\n\r\n## 想定視聴者\r\n- ポイント付与型のサービス運営をされている方\r\n- 不正アカウントや不正リクエストに悩まされている方,speakers:FujiKinaga,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/92f605a9-408d-4601-a1a4-8f07e3e390f7.jpg,speakerXIds:fuji_kinaga}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>アプリバイナリに対する不正対策とセキュリティ向上/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>アプリバイナリに対する不正対策とセキュリティ向上/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>ASSIGN Hall 16:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/24388be1-bf63-4094-9e1f-9fbbd1a66547 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altFujiKinagaのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/92f605a9-408d-4601-a1a4-8f07e3e390f7.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/fuji_kinaga target_blank>FujiKinaga/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>アプリはコード改竄やリバースエンジニアリングによる脅威に常に晒されています。 デバイスのルート化や不正ツールの利用によってサービス内での不正利用も考えられます。/p> p>今回は"デバイスから取得可能な物理データをもとにポイントを獲得できるような機能"を題材にして、 不正対策やセキュリティ向上を考えます。/p> ul> li>バイナリへのセキュリティ ul> li>暗号化・難読化/li> /ul> /li> li>デバイスへのセキュリティ ul> li>Firebase AppCheck活用/li> li>デバイスから取得する物理データの整合性判定/li> /ul> /li> li>複合的なセキュリティ ul> li>ストア設定から取れる対策/li> /ul> /li> /ul> p>本セッションでは不正のユースケースに対して取れるアプローチをご紹介します。/p> h2>想定視聴者/h2> ul> li>ポイント付与型のサービス運営をされている方/li> li>不正アカウントや不正リクエストに悩まされている方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 17 / 3 / 23 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Keynote The Flutter Effect(サテライト),url:null,venueName:RevenueCat Hall,startHour:10,startMinute:15,description:このセッションThe \Flutter\ Effect では、私の人生を大きく変えたFlutterとの出会いと、その影響についてお話しします。Flutterを学び始めた当初は、ただのモバイル開発フレームワークの一つとして触れていました。しかし、次第にその表現力と開発体験の楽しさに魅了され、Flutterを通じて自分の夢を形にすることができるようになりました。\n\nFlutterでアプリを作り、発表を行い、記事を書く中で多くの人々とつながり、最終的にはGoogle Developer Expert(GDE)として活動する機会を得ました。このトークでは、その過程で得た学びや転機、そしてFlutterコミュニティへの感謝を共有します。\n\nまた、今年一年のFlutterの進化を振り返りながら、技術面・コミュニティ面の両方からFlutterがどのように成長してきたかを紹介します。Flutterが私に与えた影響と、これからFlutterがもたらす新しい可能性を一緒に感じていただければ幸いです。,speakers:金 瑠加須,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/a7a0aa4d-bdf4-4852-a83e-4d7fd64a61ea.jpg,speakerXIds:LucasGoldner}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Keynote The Flutter Effect(サテライト)/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Keynote The Flutter Effect(サテライト)/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>RevenueCat Hall 10:15/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt金 瑠加須のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/a7a0aa4d-bdf4-4852-a83e-4d7fd64a61ea.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/LucasGoldner target_blank>金 瑠加須/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>このセッションThe "Flutter" Effect では、私の人生を大きく変えたFlutterとの出会いと、その影響についてお話しします。Flutterを学び始めた当初は、ただのモバイル開発フレームワークの一つとして触れていました。しかし、次第にその表現力と開発体験の楽しさに魅了され、Flutterを通じて自分の夢を形にすることができるようになりました。/p> p>Flutterでアプリを作り、発表を行い、記事を書く中で多くの人々とつながり、最終的にはGoogle Developer Expert(GDE)として活動する機会を得ました。このトークでは、その過程で得た学びや転機、そしてFlutterコミュニティへの感謝を共有します。/p> p>また、今年一年のFlutterの進化を振り返りながら、技術面・コミュニティ面の両方からFlutterがどのように成長してきたかを紹介します。Flutterが私に与えた影響と、これからFlutterがもたらす新しい可能性を一緒に感じていただければ幸いです。/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 26 / 3 / 32 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:あの日のHot reloadはなぜ動かなかったのか? 〜OSセキュリティ(W^X)とJITコンパイラの攻防〜,url:https://fortee.jp/flutterkaigi-2025/proposal/912d7f78-375a-4d57-a1ef-3b5aa438396e,venueName:RevenueCat Hall,startHour:11,startMinute:0,description:## 概要\r\niOS26の発表直後、FlutterのHot reloadが実機では動作しない問題が発生し、アプリ開発者は窮地に立たされまさした。\r\nこの問題は現代のOSのセキュリティ制約とJITコンパイラが深く関わっています。この課題にどう向き合い、どう解決していったのかを時系列で振り返りましょう。この解決の過程を振り返ることで、フレームワークへの理解が更に進み、FlutterのコアであるHot reload技術についてより深い知見を得ることができます。\r\nフレームワークやVMのアップデートが、どうやって自分たちの開発体験やアプリの品質に直結するのかを追体験しましょう。\r\n\r\n## 想定視聴者\r\n- iOS26にてHot reloadが動作しない問題の裏側で起きていたことを知りたい人\r\n- 普段使っているFlutter/Dartが、OSレベルのセキュリティ制約とどう向き合っているか知りたい人\r\n,speakers:chigichan24,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/6070650f-7082-4529-8c5c-4a363698bde9.png,speakerXIds:chigichan24}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>あの日のHot reloadはなぜ動かなかったのか? 〜OSセキュリティ(W^X)とJITコンパイラの攻防〜/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>あの日のHot reloadはなぜ動かなかったのか? 〜OSセキュリティ(W^X)とJITコンパイラの攻防〜/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>RevenueCat Hall 11:00/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/912d7f78-375a-4d57-a1ef-3b5aa438396e target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altchigichan24のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/6070650f-7082-4529-8c5c-4a363698bde9.png/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/chigichan24 target_blank>chigichan24/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>iOS26の発表直後、FlutterのHot reloadが実機では動作しない問題が発生し、アプリ開発者は窮地に立たされまさした。 この問題は現代のOSのセキュリティ制約とJITコンパイラが深く関わっています。この課題にどう向き合い、どう解決していったのかを時系列で振り返りましょう。この解決の過程を振り返ることで、フレームワークへの理解が更に進み、FlutterのコアであるHot reload技術についてより深い知見を得ることができます。 フレームワークやVMのアップデートが、どうやって自分たちの開発体験やアプリの品質に直結するのかを追体験しましょう。/p> h2>想定視聴者/h2> ul> li>iOS26にてHot reloadが動作しない問題の裏側で起きていたことを知りたい人/li> li>普段使っているFlutter/Dartが、OSレベルのセキュリティ制約とどう向き合っているか知りたい人/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 35 / 3 / 41 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Impellerで何が変わったのか,url:https://fortee.jp/flutterkaigi-2025/proposal/81f95806-0cfa-403d-a6f1-0276e606b20a,venueName:RevenueCat Hall,startHour:11,startMinute:45,description:## 概要\r\nFlutter 3.10から標準になった描画エンジンImpellerは、それまでの標準であったSkiaと比較すると、描画処理の最適化、シェーダーの事前コンパイルにより、特にMetal(iOS,macOS)での動作が大幅に安定しました。\r\n\r\nしかし、Impellerの恩恵はそれだけではありません。\r\n描画までの中間コードが削減されたことで、3D描画を実現するFlutter GPUや、高性能化したdart:uiのシェーダー機能など、Flutterの新たな可能性を開く基盤となっています。\r\n\r\n本セッションでは、ImpellerとSkiaの描画の仕組みを比較解説し、Impellerが実現した新機能の技術的背景を深掘りします。\r\n\r\n## 想定視聴者\r\nFlutterの描画の仕組みを理解したい方\r\n描画エンジンレベルでのパフォーマンス改善を試みたい方\r\nシェーダーによる視覚表現や3D描画に興味のある方,speakers:aq,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/fa7d7dca-fe37-4656-9279-aa2e47475f4c.png,speakerXIds:aqhayami}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Impellerで何が変わったのか/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Impellerで何が変わったのか/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>RevenueCat Hall 11:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/81f95806-0cfa-403d-a6f1-0276e606b20a target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altaqのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/fa7d7dca-fe37-4656-9279-aa2e47475f4c.png/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/aqhayami target_blank>aq/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutter 3.10から標準になった描画エンジンImpellerは、それまでの標準であったSkiaと比較すると、描画処理の最適化、シェーダーの事前コンパイルにより、特にMetal(iOS,macOS)での動作が大幅に安定しました。/p> p>しかし、Impellerの恩恵はそれだけではありません。 描画までの中間コードが削減されたことで、3D描画を実現するFlutter GPUや、高性能化したdart:uiのシェーダー機能など、Flutterの新たな可能性を開く基盤となっています。/p> p>本セッションでは、ImpellerとSkiaの描画の仕組みを比較解説し、Impellerが実現した新機能の技術的背景を深掘りします。/p> h2>想定視聴者/h2> p>Flutterの描画の仕組みを理解したい方 描画エンジンレベルでのパフォーマンス改善を試みたい方 シェーダーによる視覚表現や3D描画に興味のある方/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 56 / 3 / 62 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutterビルドキャッシュの内部構造とテスト高速化への応用,url:https://fortee.jp/flutterkaigi-2025/proposal/bc8d4449-b57f-4785-a62e-78a361d581f6,venueName:RevenueCat Hall,startHour:13,startMinute:30,description:## 概要\r\nFlutter開発では、アプリケーションの実行や配布のたびにビルドが発生します。\r\n通常、ビルドキャッシュは意識せずとも自動で働きますが、その仕組みを理解することで開発効率をさらに高められます。\r\n本セッションでは、Flutter SDKの内部実装に触れながら、ビルドキャッシュの構造と動作を詳しく解説します。\r\nまた、キャッシュが有効・無効になる条件を理解し、 `flutter test` 実行時の不要な再ビルドを回避することで、テスト実行を高速化できる実践的なアプローチも紹介します。\r\n\r\n## 想定視聴者\r\n- Flutterビルドキャッシュの仕組みを体系的に理解したい方\r\n- テスト実行時のビルド高速化に関心のある方\r\n- `build/` ディレクトリや `.dill` ファイルなど、ビルド成果物の正体を知りたい方,speakers:yoko,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/861cadb3-d5b5-4e6c-aefd-4081894babc3.jpg,speakerXIds:_yoko_com}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutterビルドキャッシュの内部構造とテスト高速化への応用/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutterビルドキャッシュの内部構造とテスト高速化への応用/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>RevenueCat Hall 13:30/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/bc8d4449-b57f-4785-a62e-78a361d581f6 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altyokoのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/861cadb3-d5b5-4e6c-aefd-4081894babc3.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/_yoko_com target_blank>yoko/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutter開発では、アプリケーションの実行や配布のたびにビルドが発生します。 通常、ビルドキャッシュは意識せずとも自動で働きますが、その仕組みを理解することで開発効率をさらに高められます。 本セッションでは、Flutter SDKの内部実装に触れながら、ビルドキャッシュの構造と動作を詳しく解説します。 また、キャッシュが有効・無効になる条件を理解し、 code>flutter test/code> 実行時の不要な再ビルドを回避することで、テスト実行を高速化できる実践的なアプローチも紹介します。/p> h2>想定視聴者/h2> ul> li>Flutterビルドキャッシュの仕組みを体系的に理解したい方/li> li>テスト実行時のビルド高速化に関心のある方/li> li>code>build//code> ディレクトリや code>.dill/code> ファイルなど、ビルド成果物の正体を知りたい方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 65 / 3 / 71 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutterにしてよかった? 出前館アプリを2年運用して気づいたこと全部話します,url:https://fortee.jp/flutterkaigi-2025/proposal/877c62d7-98d1-43c8-a620-e07dc46a6782,venueName:RevenueCat Hall,startHour:14,startMinute:15,description:出前館アプリは、2023年11月にReact NativeからFlutterへ全面移行しました。\r\n以降2年間にわたり、日常的に利用されるFlutter製の大規模アプリとして運用を続ける中で、技術面・運用面・組織面それぞれにおいて多くの知見を得ることができました。\r\n\r\n本セッションでは、\r\n・移行後に直面した具体的な技術的課題とその対応\r\n・開発プロセス改善の取り組み(リリーストレイン導入によるソフトウェア品質の担保)\r\n・Flutter化が組織に与えた影響\r\nといった実例をもとに、成功事例だけでなく実際に直面した課題も含めて率直にご紹介します。\r\n\r\nFlutterを用いた大規模アプリの開発・運用について、導入を検討している方々には検討の参考に、すでに導入している方々には改善や最適化のヒントとなる実践的な知見を共有します。,speakers:橋本 茉利奈,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/4a7e9534-76c0-4aeb-9a69-b9c28bb74fa6.jpg,speakerXIds:_mhashimoto}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutterにしてよかった? 出前館アプリを2年運用して気づいたこと全部話します/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutterにしてよかった? 出前館アプリを2年運用して気づいたこと全部話します/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>RevenueCat Hall 14:15/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/877c62d7-98d1-43c8-a620-e07dc46a6782 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt橋本 茉利奈のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/4a7e9534-76c0-4aeb-9a69-b9c28bb74fa6.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/_mhashimoto target_blank>橋本 茉利奈/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>出前館アプリは、2023年11月にReact NativeからFlutterへ全面移行しました。 以降2年間にわたり、日常的に利用されるFlutter製の大規模アプリとして運用を続ける中で、技術面・運用面・組織面それぞれにおいて多くの知見を得ることができました。/p> p>本セッションでは、 ・移行後に直面した具体的な技術的課題とその対応 ・開発プロセス改善の取り組み(リリーストレイン導入によるソフトウェア品質の担保) ・Flutter化が組織に与えた影響 といった実例をもとに、成功事例だけでなく実際に直面した課題も含めて率直にご紹介します。/p> p>Flutterを用いた大規模アプリの開発・運用について、導入を検討している方々には検討の参考に、すでに導入している方々には改善や最適化のヒントとなる実践的な知見を共有します。/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 77 / 3 / 83 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:RenderObject とは何か?animated_to に学ぶレイアウト計算と描画の仕組み,url:https://fortee.jp/flutterkaigi-2025/proposal/2bd516ee-f172-478d-a2cc-c7682fb66c07,venueName:RevenueCat Hall,startHour:15,startMinute:15,description:## 概要\r\nWidget の「移動」をアニメーションする animated_to というパッケージを開発して公開しました。これを使うと from/to を計算することなく自由に Widget を動かせます。\r\n\r\nそんな animated_to は RenderObject をカスタマイズすることで実現しています。from/to の計算、描画位置の更新、これらはいずれも RenderObject の仕事であり、そこに Widget のリビルドは発生しません。リビルドが必要ないのでアニメーションも滑らかです。\r\n\r\nこのセッションでは、animated_to の実装を例に RenderObject の仕組みとカスタマイズ方法について説明します。\r\n\r\n## 想定視聴者\r\n- Flutter の内部的な仕組みに興味のある方\r\n- 描画のパフォーマンスを細かくチューニングしたい方,speakers:ちゅーやん,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/94e167ea-b660-4d55-bce4-22ce184f9e11.jpg,speakerXIds:chooyan_i18n}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>RenderObject とは何か?animated_to に学ぶレイアウト計算と描画の仕組み/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>RenderObject とは何か?animated_to に学ぶレイアウト計算と描画の仕組み/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>RevenueCat Hall 15:15/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/2bd516ee-f172-478d-a2cc-c7682fb66c07 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altちゅーやんのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/94e167ea-b660-4d55-bce4-22ce184f9e11.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/chooyan_i18n target_blank>ちゅーやん/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Widget の「移動」をアニメーションする animated_to というパッケージを開発して公開しました。これを使うと from/to を計算することなく自由に Widget を動かせます。/p> p>そんな animated_to は RenderObject をカスタマイズすることで実現しています。from/to の計算、描画位置の更新、これらはいずれも RenderObject の仕事であり、そこに Widget のリビルドは発生しません。リビルドが必要ないのでアニメーションも滑らかです。/p> p>このセッションでは、animated_to の実装を例に RenderObject の仕組みとカスタマイズ方法について説明します。/p> h2>想定視聴者/h2> ul> li>Flutter の内部的な仕組みに興味のある方/li> li>描画のパフォーマンスを細かくチューニングしたい方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 86 / 3 / 92 / 4> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutterアプリで収益を上げる方法,url:https://fortee.jp/flutterkaigi-2025/proposal/37aa1421-d22a-4f19-9a05-172150f2cb51,venueName:RevenueCat Hall,startHour:16,startMinute:0,description:Flutterでアプリをつくるのは楽しい——でも、それをどうやってお金に変えるかは意外と難しいものです。\r\n\r\nこのセッションでは、サブスクリプション(定期課金)、アプリ内課金(IAP)、そして広告収益を活用してFlutterアプリを効果的にマネタイズする方法を、わかりやすく解説します。\r\n世界中のモバイルアプリを支えるサブスクリプションプラットフォームRevenueCatの実データをもとに、さまざまなマネタイズモデルにおける平均コンバージョン率やチャーン率などのベンチマークも紹介。\r\n\r\nさらに、Flutterアプリにサブスクリプションや広告をわずか数分で実装できるライブデモも行います。\r\n初めてのアプリをリリースする人も、既存のアプリを最適化したい人も、このセッションを通してすぐに使える戦略とコード例、そして持続的に収益を生み出すための明確な道筋を持ち帰ることができます。,speakers:Perttu Lähteenlahti,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/9d3ceee2-9726-46e8-92c6-8c4a16bb1525.jpg,speakerXIds:plahteenlahti}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutterアプリで収益を上げる方法/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutterアプリで収益を上げる方法/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>RevenueCat Hall 16:00/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/37aa1421-d22a-4f19-9a05-172150f2cb51 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altPerttu Lähteenlahtiのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/9d3ceee2-9726-46e8-92c6-8c4a16bb1525.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/plahteenlahti target_blank>Perttu Lähteenlahti/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>Flutterでアプリをつくるのは楽しい——でも、それをどうやってお金に変えるかは意外と難しいものです。/p> p>このセッションでは、サブスクリプション(定期課金)、アプリ内課金(IAP)、そして広告収益を活用してFlutterアプリを効果的にマネタイズする方法を、わかりやすく解説します。 世界中のモバイルアプリを支えるサブスクリプションプラットフォームRevenueCatの実データをもとに、さまざまなマネタイズモデルにおける平均コンバージョン率やチャーン率などのベンチマークも紹介。/p> p>さらに、Flutterアプリにサブスクリプションや広告をわずか数分で実装できるライブデモも行います。 初めてのアプリをリリースする人も、既存のアプリを最適化したい人も、このセッションを通してすぐに使える戦略とコード例、そして持続的に収益を生み出すための明確な道筋を持ち帰ることができます。/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 35 / 4 / 41 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutter is NOT DEAD.,url:https://fortee.jp/flutterkaigi-2025/proposal/03595b88-1b15-4c6e-919c-93838724ca1e,venueName:Skia,startHour:11,startMinute:45,description:## 概要\r\n\r\n2025/6/9、Appleは新たなデザイン言語であるLiquid Glassを発表しました。\r\nそしてコミュニティから挙がった声は……\r\n\r\n「Flutterはこのムーブメントについていけない、終わりだ!」「Flutter is dead.」 ……\r\n\r\nなるほど、確かにFlutterは構造上、Liquid Glassを取り込むことは難しいです。\r\nでは、Flutterは本当に死を迎えたのでしょうか?\r\n\r\n自分はそうは思いません。\r\nむしろ、Flutterの真価はプラットフォーム固有の事情に左右されないことにあると考えています。\r\nこのトークでは、Flutterの立ち位置や採用する価値を整理したうえで、どのようなプロジェクトにFlutterが最適なのか?というお話をします。\r\n\r\n## 想定視聴者\r\n\r\n- Flutterを使い続けられるのか悩んでいるSWE\r\n- その他様々な領域のSWE,speakers:Kurogoma4D,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/7f85df83-323d-444c-92d5-e2fd390e351e.jpg,speakerXIds:Krgm4D}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutter is NOT DEAD./button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutter is NOT DEAD./h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 11:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/03595b88-1b15-4c6e-919c-93838724ca1e target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altKurogoma4Dのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/7f85df83-323d-444c-92d5-e2fd390e351e.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Krgm4D target_blank>Kurogoma4D/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>2025/6/9、Appleは新たなデザイン言語であるLiquid Glassを発表しました。 そしてコミュニティから挙がった声は……/p> p>「Flutterはこのムーブメントについていけない、終わりだ!」「Flutter is dead.」 ……/p> p>なるほど、確かにFlutterは構造上、Liquid Glassを取り込むことは難しいです。 では、Flutterは本当に死を迎えたのでしょうか?/p> p>自分はそうは思いません。 むしろ、Flutterの真価はプラットフォーム固有の事情に左右されないことにあると考えています。 このトークでは、Flutterの立ち位置や採用する価値を整理したうえで、どのようなプロジェクトにFlutterが最適なのか?というお話をします。/p> h2>想定視聴者/h2> ul> li>Flutterを使い続けられるのか悩んでいるSWE/li> li>その他様々な領域のSWE/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 56 / 4 / 57 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:BuildContextの正体とInheritedWidgetの仕組み,url:https://fortee.jp/flutterkaigi-2025/proposal/4ffff5d6-8a7d-4029-8925-d05e6fdb8d97,venueName:Skia,startHour:13,startMinute:30,description:# 概要\r\nFlutter開発で頻繁に利用されるBuildContext。しかし、その役割の曖昧な理解は、パフォーマンス低下や予期せぬエラーの要因となります。 \r\n\r\n本LTでは、UIツリーでのBuildContextの位置と役割、そしてInheritedWidgetがデータ伝達と再構築にどう影響するかを解説します。\r\n\r\n「Widgetのどこでcontextを使えばいいのか」が腑に落ちて、状態管理や画面遷移でつまずかないための最初の理解の壁を突破できることを目指します。\r\n\r\n# 想定視聴者\r\n- contextの扱い方に自信がない方\r\n- Widgetのどこでcontextを使うべきか迷うことがある方\r\n- 状態管理や画面遷移で「なぜか動かない問題」に直面した経験がある方,speakers:Hiroki Kawamura,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/905caac6-5356-4f62-849e-a09aa2fc3542.jpg,speakerXIds:hecuhecu}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>BuildContextの正体とInheritedWidgetの仕組み/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>BuildContextの正体とInheritedWidgetの仕組み/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 13:30/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/4ffff5d6-8a7d-4029-8925-d05e6fdb8d97 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altHiroki Kawamuraのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/905caac6-5356-4f62-849e-a09aa2fc3542.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/hecuhecu target_blank>Hiroki Kawamura/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h1>概要/h1> p>Flutter開発で頻繁に利用されるBuildContext。しかし、その役割の曖昧な理解は、パフォーマンス低下や予期せぬエラーの要因となります。/p> p>本LTでは、UIツリーでのBuildContextの位置と役割、そしてInheritedWidgetがデータ伝達と再構築にどう影響するかを解説します。/p> p>「Widgetのどこでcontextを使えばいいのか」が腑に落ちて、状態管理や画面遷移でつまずかないための最初の理解の壁を突破できることを目指します。/p> h1>想定視聴者/h1> ul> li>contextの扱い方に自信がない方/li> li>Widgetのどこでcontextを使うべきか迷うことがある方/li> li>状態管理や画面遷移で「なぜか動かない問題」に直面した経験がある方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 57 / 4 / 58 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:MVVM から MVVM-C に変えてみた話 〜画面遷移どうしてる?〜,url:https://fortee.jp/flutterkaigi-2025/proposal/5ec3701f-5b04-4717-bb2c-08d63c67a24b,venueName:Skia,startHour:13,startMinute:35,description:概要\r\nFlutterでMVVMアーキテクチャを採用した際、\r\n画面遷移処理がViewModelやViewに分散し、責務の分離やテストが難しくなる課題に直面しました。\r\n特に、Navigator.pushや外部リンク遷移がビジネスロジックに混在すると、保守やUIテストが煩雑になります。\r\n\r\nそこで本LTでは、MVVMにCoordinatorを組み合わせたMVVM-Cアーキテクチャを導入し、\r\n遷移処理の責務を一元化・明確化した事例を紹介します。\r\n\r\nこのLTではMVVM-Cについて、以下のポイントを紹介します\r\n- MVVMのおさらい\r\n- なぜCoordinatorがいるのか?\r\n- 実際どんな構成になったか\r\n- 画面遷移テストが楽になる話\r\n\r\n想定視聴者\r\n- MVVMアーキテクチャを使用している方\r\n- 画面遷移が複雑になってきて不安な人\r\n- 画面遷移テストに苦しんでいる方\r\n- アーキテクチャに興味ある方,speakers:陳 信瑜,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/99828a15-a806-425e-bbd2-4dd97c09d577.jpg,speakerXIds:ts00484515}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>MVVM から MVVM-C に変えてみた話 〜画面遷移どうしてる?〜/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>MVVM から MVVM-C に変えてみた話 〜画面遷移どうしてる?〜/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 13:35/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/5ec3701f-5b04-4717-bb2c-08d63c67a24b target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt陳 信瑜のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/99828a15-a806-425e-bbd2-4dd97c09d577.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/ts00484515 target_blank>陳 信瑜/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>概要 FlutterでMVVMアーキテクチャを採用した際、 画面遷移処理がViewModelやViewに分散し、責務の分離やテストが難しくなる課題に直面しました。 特に、Navigator.pushや外部リンク遷移がビジネスロジックに混在すると、保守やUIテストが煩雑になります。/p> p>そこで本LTでは、MVVMにCoordinatorを組み合わせたMVVM-Cアーキテクチャを導入し、 遷移処理の責務を一元化・明確化した事例を紹介します。/p> p>このLTではMVVM-Cについて、以下のポイントを紹介します/p> ul> li>MVVMのおさらい/li> li>なぜCoordinatorがいるのか?/li> li>実際どんな構成になったか/li> li>画面遷移テストが楽になる話/li> /ul> p>想定視聴者/p> ul> li>MVVMアーキテクチャを使用している方/li> li>画面遷移が複雑になってきて不安な人/li> li>画面遷移テストに苦しんでいる方/li> li>アーキテクチャに興味ある方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 58 / 4 / 59 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:ノリと勢いでFlutter専門サークルを創設したら3年目に突入した話,url:https://fortee.jp/flutterkaigi-2025/proposal/78f48783-ebf0-41ab-b447-83b8c8d1c9d8,venueName:Skia,startHour:13,startMinute:40,description:**概要**\r\n\r\nプログラミングへの挫折から再起し、「ノリと勢い」でFlutter開発サークル「ぽちぽちのつどい」を大阪大学に創設した3年間の軌跡を語ります\r\n\r\n**想定視聴者**\r\n\r\n* **プログラミング学習者・初心者**:学習における挫折経験や効果的な学習方法、モチベーション維持に関心がある方々。\r\n* **プログラミングサークル・学生コミュニティ運営者**:サークル設立・運営の課題、メンバー集め、組織化、外部連携、そして円滑な継承に関心がある方々。\r\n* **学生エンジニア全般**:実践的なチーム開発経験、技術的学び、そして学生コミュニティでの交流や成長に興味がある方々。,speakers:みそしる,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/7f8f8bee-8f74-4472-9ac7-8cc620207b54.jpg,speakerXIds:miso_shiru_app}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>ノリと勢いでFlutter専門サークルを創設したら3年目に突入した話/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>ノリと勢いでFlutter専門サークルを創設したら3年目に突入した話/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 13:40/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/78f48783-ebf0-41ab-b447-83b8c8d1c9d8 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altみそしるのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/7f8f8bee-8f74-4472-9ac7-8cc620207b54.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/miso_shiru_app target_blank>みそしる/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>strong>概要/strong>/p> p>プログラミングへの挫折から再起し、「ノリと勢い」でFlutter開発サークル「ぽちぽちのつどい」を大阪大学に創設した3年間の軌跡を語ります/p> p>strong>想定視聴者/strong>/p> ul> li>strong>プログラミング学習者・初心者/strong>:学習における挫折経験や効果的な学習方法、モチベーション維持に関心がある方々。/li> li>strong>プログラミングサークル・学生コミュニティ運営者/strong>:サークル設立・運営の課題、メンバー集め、組織化、外部連携、そして円滑な継承に関心がある方々。/li> li>strong>学生エンジニア全般/strong>:実践的なチーム開発経験、技術的学び、そして学生コミュニティでの交流や成長に興味がある方々。/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 59 / 4 / 60 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutter ネイティブ連携手法 2025,url:https://fortee.jp/flutterkaigi-2025/proposal/8bd545cf-a3eb-4238-aeb1-e78d0528fe4e,venueName:Skia,startHour:13,startMinute:45,description:Flutterでネイティブ機能を使う方法、いくつ知っていますか?\r\n基本のMethod Channel/EventChannelから、dart:ffiを使った直接バインディング、BasicMessageChannel、\r\nそしてPigeonなどのコード生成ツールまで。選択肢は実に多様です。\r\n\r\n「結局どれを使えばいいの?」\r\n「それぞれの違いは?」\r\nこのLTでは、主要な連携手法の実装例(Dart側・ネイティブ側)を実際のコードで比較しながら、\r\nそれぞれの特徴と適用場面を整理します。\r\n\r\n各手法を理解し、プロジェクトに応じた最適な選択ができるようになることが目標です。,speakers:atsumi3,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/37b02ecb-4539-4ab4-b2c2-2df47a66b33c.jpg,speakerXIds:fox9s}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutter ネイティブ連携手法 2025/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutter ネイティブ連携手法 2025/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 13:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/8bd545cf-a3eb-4238-aeb1-e78d0528fe4e target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altatsumi3のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/37b02ecb-4539-4ab4-b2c2-2df47a66b33c.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/fox9s target_blank>atsumi3/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>Flutterでネイティブ機能を使う方法、いくつ知っていますか? 基本のMethod Channel/EventChannelから、dart:ffiを使った直接バインディング、BasicMessageChannel、 そしてPigeonなどのコード生成ツールまで。選択肢は実に多様です。/p> p>「結局どれを使えばいいの?」 「それぞれの違いは?」 このLTでは、主要な連携手法の実装例(Dart側・ネイティブ側)を実際のコードで比較しながら、 それぞれの特徴と適用場面を整理します。/p> p>各手法を理解し、プロジェクトに応じた最適な選択ができるようになることが目標です。/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 60 / 4 / 61 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Server-Driven UIでアプリを作る,url:https://fortee.jp/flutterkaigi-2025/proposal/8819bdad-2434-435d-976b-e4ad9142fe78,venueName:Skia,startHour:13,startMinute:50,description:Server-Driven UIでプロダクト開発してますか?\r\n\r\nServer-Driven UI(SDUI)はAirbnbが用いた設計手法でUIの構造、レイアウト、さらには一部の動作ロジックを、クライアント側ではなくサーバー側で定義・制御するアーキテクチャパターンです。\r\n\r\nモバイルアプリ開発においてA/Bテスト等でUIを分ける際にいくつかやり方があるかと思いますが、\r\nこのLTではStacというFlutter専用のSDUIのFrameworkを用いた紹介をします。\r\n,speakers:Take,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/a77540eb-4583-49d3-878d-006730b33f46.jpg,speakerXIds:tkmssh}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Server-Driven UIでアプリを作る/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Server-Driven UIでアプリを作る/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 13:50/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/8819bdad-2434-435d-976b-e4ad9142fe78 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altTakeのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/a77540eb-4583-49d3-878d-006730b33f46.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/tkmssh target_blank>Take/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>Server-Driven UIでプロダクト開発してますか?/p> p>Server-Driven UI(SDUI)はAirbnbが用いた設計手法でUIの構造、レイアウト、さらには一部の動作ロジックを、クライアント側ではなくサーバー側で定義・制御するアーキテクチャパターンです。/p> p>モバイルアプリ開発においてA/Bテスト等でUIを分ける際にいくつかやり方があるかと思いますが、 このLTではStacというFlutter専用のSDUIのFrameworkを用いた紹介をします。/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 65 / 4 / 71 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Dart and Flutter MCP serverで実現するAI駆動E2Eテスト整備と自動操作,url:https://fortee.jp/flutterkaigi-2025/proposal/63d2ecdf-120c-4d92-bd5b-e20dad80357c,venueName:Skia,startHour:14,startMinute:15,description:## 概要\r\nE2Eテストには「カバレッジ向上が大変」、「メンテナンスコストが高い」といった課題があります。AIによるモバイルアプリの自動操作でこれらの課題を解決します。AIがアプリを自動操作することで、E2Eテストの作成においてGUIをコンテキストとして扱うことができるようになります。これによりE2Eテスト作成の精度と効率を向上させます。\r\n\r\nまた、AIによるモバイルアプリの自動操作はMobile MCPによって実現されます。しかしFlutterのレンダリング方式が原因でそのままでは利用できません。そこでDart VM Service extensionを利用してMCPを拡張し、Flutterアプリに対応させた方法についてもお話します。\r\n\r\n## 想定視聴者\r\nE2Eテストの拡充を課題としている方\r\nAI x アプリのエンジニアリングに興味がある方,speakers:酒井佑旗,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/1249f0c2-0c7c-4ec7-8808-cd74219c1f7e.jpg,speakerXIds:yu12k25i}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Dart and Flutter MCP serverで実現するAI駆動E2Eテスト整備と自動操作/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Dart and Flutter MCP serverで実現するAI駆動E2Eテスト整備と自動操作/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 14:15/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/63d2ecdf-120c-4d92-bd5b-e20dad80357c target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt酒井佑旗のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/1249f0c2-0c7c-4ec7-8808-cd74219c1f7e.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/yu12k25i target_blank>酒井佑旗/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>E2Eテストには「カバレッジ向上が大変」、「メンテナンスコストが高い」といった課題があります。AIによるモバイルアプリの自動操作でこれらの課題を解決します。AIがアプリを自動操作することで、E2Eテストの作成においてGUIをコンテキストとして扱うことができるようになります。これによりE2Eテスト作成の精度と効率を向上させます。/p> p>また、AIによるモバイルアプリの自動操作はMobile MCPによって実現されます。しかしFlutterのレンダリング方式が原因でそのままでは利用できません。そこでDart VM Service extensionを利用してMCPを拡張し、Flutterアプリに対応させた方法についてもお話します。/p> h2>想定視聴者/h2> p>E2Eテストの拡充を課題としている方 AI x アプリのエンジニアリングに興味がある方/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 77 / 4 / 83 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutter Webの真価:SEOフレンドリーなPWAとデスクトップアプリケーションへの展開,url:https://fortee.jp/flutterkaigi-2025/proposal/572423bf-9210-480d-813d-c6d88d640833,venueName:Skia,startHour:15,startMinute:15,description:## 概要\r\nFlutterはモバイルアプリ開発の強力なツールとして確立されていますが、Flutter Webの可能性はまだ十分に認識されていないかもしれません。本セッションでは、Flutter Webの最新の進捗と、特にSEO(検索エンジン最適化)フレンドリーなプログレッシブウェブアプリ(PWA)を構築するための具体的な戦略に焦点を当てます。レンダリングモードの選択(HTML vs Canvas Kit)、ルーティングとURL管理、メタデータの設定、Service Workerの活用など、Flutter Webで高性能かつSEOに強いPWAを開発するための実践的なテクニックを解説します。マルチプラットフォーム戦略におけるFlutter Webの真価を探ります。\r\n\r\n## 想定視聴者\r\nFlutter開発者、Web開発者、プロダクトオーナー\r\n,speakers:山崎謙登,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/b672422f-98c2-493b-b91a-ed8f784cefd8.jpg,speakerXIds:kent_strong_dev}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutter Webの真価:SEOフレンドリーなPWAとデスクトップアプリケーションへの展開/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutter Webの真価:SEOフレンドリーなPWAとデスクトップアプリケーションへの展開/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 15:15/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/572423bf-9210-480d-813d-c6d88d640833 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt山崎謙登のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/b672422f-98c2-493b-b91a-ed8f784cefd8.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/kent_strong_dev target_blank>山崎謙登/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutterはモバイルアプリ開発の強力なツールとして確立されていますが、Flutter Webの可能性はまだ十分に認識されていないかもしれません。本セッションでは、Flutter Webの最新の進捗と、特にSEO(検索エンジン最適化)フレンドリーなプログレッシブウェブアプリ(PWA)を構築するための具体的な戦略に焦点を当てます。レンダリングモードの選択(HTML vs Canvas Kit)、ルーティングとURL管理、メタデータの設定、Service Workerの活用など、Flutter Webで高性能かつSEOに強いPWAを開発するための実践的なテクニックを解説します。マルチプラットフォーム戦略におけるFlutter Webの真価を探ります。/p> h2>想定視聴者/h2> p>Flutter開発者、Web開発者、プロダクトオーナー/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 86 / 4 / 87 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:それでは聞いてください「Impeller導入に失敗しました」,url:https://fortee.jp/flutterkaigi-2025/proposal/463de64f-8f1c-4ce4-880c-5d83c7998adb,venueName:Skia,startHour:16,startMinute:0,description:## 概要\r\nFlutter 3.27.0 がリリースされ、 Android においても Impeller が標準となりました。\r\n我々はAndroid のパフォーマンス向上を期待し、 Flutter をアップグレードすることに決めました。\r\n手元の端末たちでは問題なく動作したため、アプリをリリースしました。\r\n気がつくと、ユーザー様からクレームをたくさん頂くことになりました。\r\n\r\nこのセッションでは、失敗した経緯をみなさんと笑顔で振り返り、今後の糧とさせていただきます。\r\n\r\n## 想定視聴者\r\n* Flutter バージョンアップに取り組んでいる方\r\n* Flutter バージョンアップのタイミングに悩んでいる方\r\n* Flutter バージョンアップの失敗を一緒に笑っていただける方,speakers:tacck,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/96edeb53-6ae0-4005-bfd6-510ccf325d7d.jpg,speakerXIds:tacck}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>それでは聞いてください「Impeller導入に失敗しました」/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>それでは聞いてください「Impeller導入に失敗しました」/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 16:00/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/463de64f-8f1c-4ce4-880c-5d83c7998adb target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alttacckのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/96edeb53-6ae0-4005-bfd6-510ccf325d7d.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/tacck target_blank>tacck/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutter 3.27.0 がリリースされ、 Android においても Impeller が標準となりました。 我々はAndroid のパフォーマンス向上を期待し、 Flutter をアップグレードすることに決めました。 手元の端末たちでは問題なく動作したため、アプリをリリースしました。 気がつくと、ユーザー様からクレームをたくさん頂くことになりました。/p> p>このセッションでは、失敗した経緯をみなさんと笑顔で振り返り、今後の糧とさせていただきます。/p> h2>想定視聴者/h2> ul> li>Flutter バージョンアップに取り組んでいる方/li> li>Flutter バージョンアップのタイミングに悩んでいる方/li> li>Flutter バージョンアップの失敗を一緒に笑っていただける方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 87 / 4 / 88 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Add-to-appで真のLiquid Glass対応を目指してみた,url:https://fortee.jp/flutterkaigi-2025/proposal/9ddb5954-f5b7-4d60-8316-786e37cfdcf7,venueName:Skia,startHour:16,startMinute:5,description:## 概要\r\nみなさんはFlutterのデザインはどのようにする派閥でしょうか?\r\n自分は圧倒的にネイティブデザイン派閥でした。ですがWWDC25でLiquid Glassが発表された今、ネイティブデザイン派閥は危機に直面しています。\r\nコミュニティの動きはとても早くLiquid Glassの見た目の再現はすぐに達成されましたが、Flutter内で見た目だけ再現してもLiquid Glassの思想まで再現したとは残念ながら言えません。\r\n\r\nそこで今回FlutterのAdd-to-appの機能を使って、Liquid GlassのナビゲーションレイヤーをSwiftUIで、コンテンツレイヤーをFlutterで記述するという形式にトライし、どこまでうまくいくのか?何が課題なのか?をざっくりと紹介していきます。\r\n\r\n## 想定視聴者\r\n- iOSやデザインが好きなFlutterに関わる全ての人\r\n,speakers:藤井陽介,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/cacf8c47-8ba4-49e9-96fd-0daaa4f4c1d9.jpg,speakerXIds:touyou_dev}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Add-to-appで真のLiquid Glass対応を目指してみた/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Add-to-appで真のLiquid Glass対応を目指してみた/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 16:05/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/9ddb5954-f5b7-4d60-8316-786e37cfdcf7 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt藤井陽介のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/cacf8c47-8ba4-49e9-96fd-0daaa4f4c1d9.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/touyou_dev target_blank>藤井陽介/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>みなさんはFlutterのデザインはどのようにする派閥でしょうか? 自分は圧倒的にネイティブデザイン派閥でした。ですがWWDC25でLiquid Glassが発表された今、ネイティブデザイン派閥は危機に直面しています。 コミュニティの動きはとても早くLiquid Glassの見た目の再現はすぐに達成されましたが、Flutter内で見た目だけ再現してもLiquid Glassの思想まで再現したとは残念ながら言えません。/p> p>そこで今回FlutterのAdd-to-appの機能を使って、Liquid GlassのナビゲーションレイヤーをSwiftUIで、コンテンツレイヤーをFlutterで記述するという形式にトライし、どこまでうまくいくのか?何が課題なのか?をざっくりと紹介していきます。/p> h2>想定視聴者/h2> ul> li>iOSやデザインが好きなFlutterに関わる全ての人/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 88 / 4 / 89 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:iOSのAssistive Accessって何?Flutterでも気をつけたいUIの話,url:https://fortee.jp/flutterkaigi-2025/proposal/ba663f5e-cab6-473f-b7c3-974d32791197,venueName:Skia,startHour:16,startMinute:10,description:## 概要\r\niOS 17で登場した「Assistive Access」機能をご存知ですか?\r\n一見するとFlutter開発者には無縁に思えるかもしれませんが、実はこの機能には認知にやさしいUI設計における多くのヒントが詰まっています。\r\n\r\n本LTでは、Assistive Accessの概要とともに、Flutterアプリでも活かせる認知負荷を軽減するためのデザイン原則を紹介します。\r\n特に、「ボタンはたくさんあったほうが便利」や「多機能こそユーザーフレンドリー」といった常識に疑問を投げかけ、誰にとってもわかりやすく、操作しやすいUIを考えるきっかけとなるセッションを目指します。\r\n\r\n認知負荷の視点から、自分のアプリ設計を見直してみませんか?\r\n\r\n## 想定視聴者\r\n* Assistive Accessに対応していないFlutterアプリ開発者\r\n* 認知にやさしいUI設計をしたいFlutterアプリ開発者,speakers:野瀬田 裕樹,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/fde678c5-e84e-43e0-b022-680cd354faea.jpg,speakerXIds:ynoseda}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>iOSのAssistive Accessって何?Flutterでも気をつけたいUIの話/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>iOSのAssistive Accessって何?Flutterでも気をつけたいUIの話/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 16:10/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/ba663f5e-cab6-473f-b7c3-974d32791197 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alt野瀬田 裕樹のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/fde678c5-e84e-43e0-b022-680cd354faea.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/ynoseda target_blank>野瀬田 裕樹/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>iOS 17で登場した「Assistive Access」機能をご存知ですか? 一見するとFlutter開発者には無縁に思えるかもしれませんが、実はこの機能には認知にやさしいUI設計における多くのヒントが詰まっています。/p> p>本LTでは、Assistive Accessの概要とともに、Flutterアプリでも活かせる認知負荷を軽減するためのデザイン原則を紹介します。 特に、「ボタンはたくさんあったほうが便利」や「多機能こそユーザーフレンドリー」といった常識に疑問を投げかけ、誰にとってもわかりやすく、操作しやすいUIを考えるきっかけとなるセッションを目指します。/p> p>認知負荷の視点から、自分のアプリ設計を見直してみませんか?/p> h2>想定視聴者/h2> ul> li>Assistive Accessに対応していないFlutterアプリ開発者/li> li>認知にやさしいUI設計をしたいFlutterアプリ開発者/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 89 / 4 / 90 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:ユーザーのアクションを伴うWidgetのGoldenTest,url:https://fortee.jp/flutterkaigi-2025/proposal/1c87888d-a7cf-4088-9a15-83771227ec18,venueName:Skia,startHour:16,startMinute:15,description:## 概要\r\nFlutterアプリのUI品質を担保する手法としてGoldenTestは非常に有効ですが、 スクロールを伴うWidgetでは一筋縄ではいきません。 本LTでは、まずGoldenTestの基本的な仕組みと利点を解説し、 ScrollViewを用いたWidgetのGoldenTestの実践方法を紹介します。 続いて、Sliverを利用した場合に直面する悩みを取り上げます。その上で、SliverでのGoldenTestを実現するためのテクニックとして、 スクロール量をプログラムで指定する方法や、Finderを活用して特定のWidgetを検出・検証する方法を具体的なコード例とともに解説します。 \r\n\r\n## 想定視聴者\r\nGoldenTestの幅を広げ、より堅牢なUIテストを目指す方におすすめの内容です。,speakers:horie,speakerAvatarUrls:null,speakerXIds:null}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>ユーザーのアクションを伴うWidgetのGoldenTest/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>ユーザーのアクションを伴うWidgetのGoldenTest/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 16:15/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/1c87888d-a7cf-4088-9a15-83771227ec18 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>li styledisplay: flex; align-items: center>horie/li>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>FlutterアプリのUI品質を担保する手法としてGoldenTestは非常に有効ですが、 スクロールを伴うWidgetでは一筋縄ではいきません。 本LTでは、まずGoldenTestの基本的な仕組みと利点を解説し、 ScrollViewを用いたWidgetのGoldenTestの実践方法を紹介します。 続いて、Sliverを利用した場合に直面する悩みを取り上げます。その上で、SliverでのGoldenTestを実現するためのテクニックとして、 スクロール量をプログラムで指定する方法や、Finderを活用して特定のWidgetを検出・検証する方法を具体的なコード例とともに解説します。/p> h2>想定視聴者/h2> p>GoldenTestの幅を広げ、より堅牢なUIテストを目指す方におすすめの内容です。/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 90 / 4 / 91 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Flutterアプリ運用の現場で役立った監視Tips 5選,url:https://fortee.jp/flutterkaigi-2025/proposal/de251e13-e939-4bcd-958c-2aea17ad20cb,venueName:Skia,startHour:16,startMinute:20,description:## 概要\r\nFlutterアプリの運用では、監視ツールを導入するだけでは十分ではなく、「どう使うか」が成果を左右します。\r\nこのLTでは、監視ツールを使っていく中で見えてきた、運用フェーズで実際に効果があったTipsを5つに絞って紹介します。\r\n\r\nどれも大がかりな仕組みではなく、ちょっとした工夫や設定変更で再現できる内容に絞っています。\r\n「導入はしたけどあまり活用できていない」「もう少しうまく使いたい」という方にとって、すぐ試せる小さな改善のヒントになるはずです。\r\n\r\n## 想定視聴者\r\nFlutterアプリの監視に興味がある方,speakers:おさたく,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/30ccb6e6-3271-4047-a5f3-5018ab6b000b.jpg,speakerXIds:ostk0069}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Flutterアプリ運用の現場で役立った監視Tips 5選/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutterアプリ運用の現場で役立った監視Tips 5選/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 16:20/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/de251e13-e939-4bcd-958c-2aea17ad20cb target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altおさたくのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/30ccb6e6-3271-4047-a5f3-5018ab6b000b.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/ostk0069 target_blank>おさたく/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutterアプリの運用では、監視ツールを導入するだけでは十分ではなく、「どう使うか」が成果を左右します。 このLTでは、監視ツールを使っていく中で見えてきた、運用フェーズで実際に効果があったTipsを5つに絞って紹介します。/p> p>どれも大がかりな仕組みではなく、ちょっとした工夫や設定変更で再現できる内容に絞っています。 「導入はしたけどあまり活用できていない」「もう少しうまく使いたい」という方にとって、すぐ試せる小さな改善のヒントになるはずです。/p> h2>想定視聴者/h2> p>Flutterアプリの監視に興味がある方/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 95 / 4 / 101 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:モバイル端末で動くLLMはどこまで実用的なのか,url:https://fortee.jp/flutterkaigi-2025/proposal/25d7e97e-e253-4b45-93d7-fe3ca97c7698,venueName:Skia,startHour:16,startMinute:45,description:## 概要\r\n昨今のAIは信じられない速度で進化しており、与えられたトークンをもとに考える能力やスピードは私たちを圧倒していますが、私たちの生活そのものを変えるほどの新たな知識を与えるには、その手法やセキュリティなど多くの問題が存在します。\r\nその答えのひとつとして、モバイル端末という閉じられた環境で動くAIがあると思います。\r\n最近はGemma 3nなどモバイル端末上で動かすことを想定したLLMもでてきており、それらを利用することでよりセキュアかつローコストにAIを利用することができるようになりますが、果たして現状どこまで実用的なのでしょうか?\r\n\r\nこのセッションでは、実際にLLMをアプリに導入して動かす方法や、モデルに備わったRAGやFunction Callingなどの機能の実装に挑戦し、その実用性に迫ります。\r\n\r\n## 想定視聴者\r\nモバイルデバイスでAIを動かしたい方,speakers:KyoheiG3,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/46c5425e-d29e-44bb-8ca0-9fd3986b3276.jpg,speakerXIds:KyoheiG3}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>モバイル端末で動くLLMはどこまで実用的なのか/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>モバイル端末で動くLLMはどこまで実用的なのか/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 16:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/25d7e97e-e253-4b45-93d7-fe3ca97c7698 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altKyoheiG3のアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/46c5425e-d29e-44bb-8ca0-9fd3986b3276.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/KyoheiG3 target_blank>KyoheiG3/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>昨今のAIは信じられない速度で進化しており、与えられたトークンをもとに考える能力やスピードは私たちを圧倒していますが、私たちの生活そのものを変えるほどの新たな知識を与えるには、その手法やセキュリティなど多くの問題が存在します。 その答えのひとつとして、モバイル端末という閉じられた環境で動くAIがあると思います。 最近はGemma 3nなどモバイル端末上で動かすことを想定したLLMもでてきており、それらを利用することでよりセキュアかつローコストにAIを利用することができるようになりますが、果たして現状どこまで実用的なのでしょうか?/p> p>このセッションでは、実際にLLMをアプリに導入して動かす方法や、モデルに備わったRAGやFunction Callingなどの機能の実装に挑戦し、その実用性に迫ります。/p> h2>想定視聴者/h2> p>モバイルデバイスでAIを動かしたい方/p> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #f4ced6 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #f7e3e9; grid-area: 104 / 4 / 110 / 5> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:オフライン対応!Flutterアプリに全文検索エンジンを実装する,url:https://fortee.jp/flutterkaigi-2025/proposal/4b6fc7d8-b6a2-41f1-8bad-684231e60681,venueName:Skia,startHour:17,startMinute:30,description:## 概要\r\n本セッションでは、Flutterアプリにオフラインで動作する全文検索(Full Text Search)機能を組み込むために開発したパッケージと、その中で活用した flutter_rust_bridge の実装事例を紹介します。 学習コストが高いとされる flutter_rust_bridge をFlutter開発者がどのように扱えるのかを、具体的なコード例とともにわかりやすく解説します。 さらに、CJK(中日韓文字)への対応や、マルチプラットフォーム対応した話についても共有します。\r\n\r\n## 想定視聴者\r\n- ネイティブ連携でアプリのパフォーマンス向上に興味があるFlutter開発者\r\n- Rustやflutter_rust_bridgeに興味がある開発者\r\n- オフライン環境での高機能検索をアプリに導入したいエンジニア\r\n,speakers:Dreamwalker,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/ffce8652-a86a-4ed7-bc7e-e91f2be32c6c.jpg,speakerXIds:jaichangpark}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>オフライン対応!Flutterアプリに全文検索エンジンを実装する/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>オフライン対応!Flutterアプリに全文検索エンジンを実装する/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Skia 17:30/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/4b6fc7d8-b6a2-41f1-8bad-684231e60681 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altDreamwalkerのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/ffce8652-a86a-4ed7-bc7e-e91f2be32c6c.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/jaichangpark target_blank>Dreamwalker/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>本セッションでは、Flutterアプリにオフラインで動作する全文検索(Full Text Search)機能を組み込むために開発したパッケージと、その中で活用した flutter_rust_bridge の実装事例を紹介します。 学習コストが高いとされる flutter_rust_bridge をFlutter開発者がどのように扱えるのかを、具体的なコード例とともにわかりやすく解説します。 さらに、CJK(中日韓文字)への対応や、マルチプラットフォーム対応した話についても共有します。/p> h2>想定視聴者/h2> ul> li>ネイティブ連携でアプリのパフォーマンス向上に興味があるFlutter開発者/li> li>Rustやflutter_rust_bridgeに興味がある開発者/li> li>オフライン環境での高機能検索をアプリに導入したいエンジニア/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 52.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 56 / 5 / 86 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:ハンズオンセッション,url:null,venueName:Impeller,startHour:13,startMinute:30,description:## 概要\r\nFlutterKaigi 2025 ハンズオンでは、アプリの魅力を上げるため、UI にアニメーションやデコレーションを追加する基礎知識を学んでもらうことになりました。このハンズオンでは、単なる UI Widget カタログにならないよう、単純で飾り気のないベース模擬アプリに、デコレーションやアニメーションを追加していきます。アイテムの状態や状態変更に応じたアクションを返してくれますが、単純で飾り気のないベース模擬アプリにデコレーションやアニメーションを追加することで、アプリ表現力向上の比較とこれらの基礎知識を学んでもらう趣向となっております。\r\n## 備考\r\n- アーリーチケットでハンズオンセッションに参加希望を出した方のみ参加可能なセッションとなっております。,speakers:,speakerAvatarUrls:,speakerXIds:}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>ハンズオンセッション/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>ハンズオンセッション/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem>li>Impeller 13:30/li>/ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>FlutterKaigi 2025 ハンズオンでは、アプリの魅力を上げるため、UI にアニメーションやデコレーションを追加する基礎知識を学んでもらうことになりました。このハンズオンでは、単なる UI Widget カタログにならないよう、単純で飾り気のないベース模擬アプリに、デコレーションやアニメーションを追加していきます。アイテムの状態や状態変更に応じたアクションを返してくれますが、単純で飾り気のないベース模擬アプリにデコレーションやアニメーションを追加することで、アプリ表現力向上の比較とこれらの基礎知識を学んでもらう趣向となっております。/p> h2>備考/h2> ul> li>アーリーチケットでハンズオンセッションに参加希望を出した方のみ参加可能なセッションとなっております。/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>150 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 10.5rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 95 / 5 / 101 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:アクセシビリティ、まだ完璧じゃないけど──\今から\できること,url:https://fortee.jp/flutterkaigi-2025/proposal/8d6b31bd-95b6-4705-953f-de5da9ab18f5,venueName:Impeller,startHour:16,startMinute:45,description:## 概要\r\n「アクセシビリティ、大事なのはわかってる。だけど、どうしても後回しになってしまう」──そんな経験、ありませんか?\r\n私たちのチームもそうでした。初期リリースでは対応できておらず、今も完璧ではありません。\r\n\r\nこのセッションでは、アクセシビリティ改善の実体験をもとに、今からでも始められることを中心にお話しします。\r\n\r\n・今さら対応するのって大変じゃない?\r\n・チーム全体でどうやって意識づける?\r\n・アクセシビリティ改善って正直どこまでやればいいの?\r\n\r\nそんな悩みに寄り添いながら、100点を目指さなくても、0点を1点にする方法を一緒に考えます。\r\n\やれてない\を責めるのではなく、\今からやっていける\ことを持ち帰ってもらえる時間にしたいと思っています。\r\n\r\n## 想定視聴者\r\n- アクセシビリティ対応が後回しになってる方\r\n- アクセシビリティ対応をどうチームで取り組んでいけば良いかわからない方\r\n,speakers:kuno,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/b8e33006-1a2f-4f90-bc34-df3652a5c1fc.jpg,speakerXIds:Kunodayo_oboete}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>アクセシビリティ、まだ完璧じゃないけど──今からできること/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>アクセシビリティ、まだ完璧じゃないけど──今からできること/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Impeller 16:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/8d6b31bd-95b6-4705-953f-de5da9ab18f5 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altkunoのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/b8e33006-1a2f-4f90-bc34-df3652a5c1fc.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Kunodayo_oboete target_blank>kuno/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>「アクセシビリティ、大事なのはわかってる。だけど、どうしても後回しになってしまう」──そんな経験、ありませんか? 私たちのチームもそうでした。初期リリースでは対応できておらず、今も完璧ではありません。/p> p>このセッションでは、アクセシビリティ改善の実体験をもとに、今からでも始められることを中心にお話しします。/p> p>・今さら対応するのって大変じゃない? ・チーム全体でどうやって意識づける? ・アクセシビリティ改善って正直どこまでやればいいの?/p> p>そんな悩みに寄り添いながら、100点を目指さなくても、0点を1点にする方法を一緒に考えます。 "やれてない"を責めるのではなく、"今からやっていける"ことを持ち帰ってもらえる時間にしたいと思っています。/p> h2>想定視聴者/h2> ul> li>アクセシビリティ対応が後回しになってる方/li> li>アクセシビリティ対応をどうチームで取り組んでいけば良いかわからない方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>30 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 104 / 5 / 105 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:24時間止まらないFlutterアプリの作り方,url:https://fortee.jp/flutterkaigi-2025/proposal/2c06a71e-6da9-41ac-9467-a719ce69345a,venueName:Impeller,startHour:17,startMinute:30,description:## 概要\r\nFlutterアプリをAndroid端末でキオスクモード(アプリ固定モード)運用する方法を解説します。Device Owner権限の設定方法、Flutterでの実装、RemoteConfigを使った自動アップデートなど、業務用端末として安定運用するための実践的な知識を5分でお伝えします。\r\n\r\n## 想定視聴者\r\n- Flutterで店舗向け・業務用アプリを開発している方\r\n- キオスクモードの実装方法を探している方\r\n- MDMを使わないデバイス管理に興味がある方\r\n,speakers:きしもと,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/6e2f169e-4ba3-4dc8-8f71-c914f9465a2c.jpg,speakerXIds:uuuuuuuuuuuuku}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>24時間止まらないFlutterアプリの作り方/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>24時間止まらないFlutterアプリの作り方/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Impeller 17:30/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/2c06a71e-6da9-41ac-9467-a719ce69345a target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altきしもとのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/6e2f169e-4ba3-4dc8-8f71-c914f9465a2c.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/uuuuuuuuuuuuku target_blank>きしもと/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>FlutterアプリをAndroid端末でキオスクモード(アプリ固定モード)運用する方法を解説します。Device Owner権限の設定方法、Flutterでの実装、RemoteConfigを使った自動アップデートなど、業務用端末として安定運用するための実践的な知識を5分でお伝えします。/p> h2>想定視聴者/h2> ul> li>Flutterで店舗向け・業務用アプリを開発している方/li> li>キオスクモードの実装方法を探している方/li> li>MDMを使わないデバイス管理に興味がある方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 105 / 5 / 106 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:カスタムジェスチャーの実装から学ぶGesture,url:https://fortee.jp/flutterkaigi-2025/proposal/215d2e8d-9ef7-4033-aaec-38e8ad75954f,venueName:Impeller,startHour:17,startMinute:35,description:## 概要\r\nFlutterの標準的なジェスチャー検出は強力ですが、特定の開発シーンでは複数のジェスチャーの競合や、ユーザー体験に合わせた独自動作の定義といった課題に直面します。\r\n本セッションでは、こうした課題を踏まえて、Flutterアプリにおけるカスタムジェスチャーの実装例を軸に、Gestureの認識メカニズムや競合解決のアプローチなど、内部処理を含めて掘り下げて解説します。\r\n\r\n- Flutterにおけるジェスチャー検出の基礎\r\n- ジェスチャーの認識メカニズムと競合\r\n- カスタムジェスチャーの実践的な実装テクニックの紹介\r\n\r\n## 想定視聴者\r\n- Flutterのジェスチャー処理や内部実装に興味がある方\r\n- アプリ開発で高度なユーザー体験やデバッグ機能の実装を検討している方,speakers:techiro,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/ba42954c-c104-48c0-a07f-f51d9574870d.jpg,speakerXIds:appgrape}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>カスタムジェスチャーの実装から学ぶGesture/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>カスタムジェスチャーの実装から学ぶGesture/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Impeller 17:35/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/215d2e8d-9ef7-4033-aaec-38e8ad75954f target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle alttechiroのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/ba42954c-c104-48c0-a07f-f51d9574870d.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/appgrape target_blank>techiro/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>Flutterの標準的なジェスチャー検出は強力ですが、特定の開発シーンでは複数のジェスチャーの競合や、ユーザー体験に合わせた独自動作の定義といった課題に直面します。 本セッションでは、こうした課題を踏まえて、Flutterアプリにおけるカスタムジェスチャーの実装例を軸に、Gestureの認識メカニズムや競合解決のアプローチなど、内部処理を含めて掘り下げて解説します。/p> ul> li>Flutterにおけるジェスチャー検出の基礎/li> li>ジェスチャーの認識メカニズムと競合/li> li>カスタムジェスチャーの実践的な実装テクニックの紹介/li> /ul> h2>想定視聴者/h2> ul> li>Flutterのジェスチャー処理や内部実装に興味がある方/li> li>アプリ開発で高度なユーザー体験やデバッグ機能の実装を検討している方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 106 / 5 / 107 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:Master of Widget Key ~ Widget 再利用とパフォーマンス最適化 ~,url:https://fortee.jp/flutterkaigi-2025/proposal/d448ffe9-c803-40b8-a38f-873be1ea9b82,venueName:Impeller,startHour:17,startMinute:40,description:## 概要\r\nなぜ Key が必要なのか、正しく使わないとどうなるかを実例で比較。\r\n\r\n- ValueKey/ObjectKey/UniqueKey/GlobalKey の違い\r\n- リストアイテムの入れ替え/アニメーションでの挙動\r\n- 過剰使用を避けるベストプラクティス\r\n\r\n## 想定視聴者\r\n- 実装時にKeyの挙動でつまずいたことがある中級~上級のFlutter開発者,speakers:新垣清奈,speakerAvatarUrls:null,speakerXIds:null}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>Master of Widget Key ~ Widget 再利用とパフォーマンス最適化 ~/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Master of Widget Key ~ Widget 再利用とパフォーマンス最適化 ~/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Impeller 17:40/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/d448ffe9-c803-40b8-a38f-873be1ea9b82 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem>li styledisplay: flex; align-items: center>新垣清奈/li>/ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>なぜ Key が必要なのか、正しく使わないとどうなるかを実例で比較。/p> ul> li>ValueKey/ObjectKey/UniqueKey/GlobalKey の違い/li> li>リストアイテムの入れ替え/アニメーションでの挙動/li> li>過剰使用を避けるベストプラクティス/li> /ul> h2>想定視聴者/h2> ul> li>実装時にKeyの挙動でつまずいたことがある中級~上級のFlutter開発者/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 107 / 5 / 108 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:そのローカルDB、プロジェクトに合ってますか? 明日から変える最適なDB,url:https://fortee.jp/flutterkaigi-2025/proposal/93f95cb5-1cd2-4355-b754-9efe8e5c389b,venueName:Impeller,startHour:17,startMinute:45,description:Flutter開発において、ローカルDBの選定は開発体験を左右する重要な要素です。 \r\nしかし、ローカルDBは多くの選択肢が存在し、どれを使うべきか悩む方も多いのではないでしょうか? \r\n\r\n本セッションでは、それぞれのローカルDBを設計思想・特徴・パフォーマンスの客観的に比較し、選定のヒントとなる基準を明確にしていきます。 \r\nさらに、各DBの登場背景やエコシステムとの関係性も比較し、なぜそのDBが選ばれるのか?を明らかにします。 \r\n\r\nこのトークを通して、あなたのFlutterプロジェクトに最適なローカルDBを選定するための「判断軸」を持ち帰っていただけることを目指します。 \r\n\r\nセッションで話すこと\r\n- ローカルDBの選択肢と比較\r\n- DB選定の判断軸\r\n- DB乗り換えの陥りやすい罠/シームレスに行う方法\r\n\r\n想定視聴者\r\n- FlutterでローカルDBを導入または乗り換えを検討している方,speakers:akaboshinit,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/d0757daa-4013-44b1-86fd-7a768352214d.jpg,speakerXIds:akaboshinit}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>そのローカルDB、プロジェクトに合ってますか? 明日から変える最適なDB/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>そのローカルDB、プロジェクトに合ってますか? 明日から変える最適なDB/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Impeller 17:45/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/93f95cb5-1cd2-4355-b754-9efe8e5c389b target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altakaboshinitのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/d0757daa-4013-44b1-86fd-7a768352214d.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/akaboshinit target_blank>akaboshinit/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> p>Flutter開発において、ローカルDBの選定は開発体験を左右する重要な要素です。 しかし、ローカルDBは多くの選択肢が存在し、どれを使うべきか悩む方も多いのではないでしょうか?/p> p>本セッションでは、それぞれのローカルDBを設計思想・特徴・パフォーマンスの客観的に比較し、選定のヒントとなる基準を明確にしていきます。 さらに、各DBの登場背景やエコシステムとの関係性も比較し、なぜそのDBが選ばれるのか?を明らかにします。/p> p>このトークを通して、あなたのFlutterプロジェクトに最適なローカルDBを選定するための「判断軸」を持ち帰っていただけることを目指します。/p> p>セッションで話すこと/p> ul> li>ローカルDBの選択肢と比較/li> li>DB選定の判断軸/li> li>DB乗り換えの陥りやすい罠/シームレスに行う方法/li> /ul> p>想定視聴者/p> ul> li>FlutterでローカルDBを導入または乗り換えを検討している方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> li stylepadding: 0.5rem; margin-left: 0.5rem; margin-right: 0.5rem; margin-bottom: 0.5rem; min-width: 12em; min-height: 1.75rem; border: solid #cae1fe 2px; border-radius: 0.5rem; overflow: hidden; text-overflow: ellipsis; white-space: inherit; background-color: #e1edfe; grid-area: 108 / 5 / 109 / 6> ul styledisplay: flex; flex-direction: column> li> !--@src/components/timeline data{title:FlutterにおけるFigma Dev Mode MCP活用Tips 5選,url:https://fortee.jp/flutterkaigi-2025/proposal/bc9dab5d-fd34-42c4-b391-34994c12eef2,venueName:Impeller,startHour:17,startMinute:50,description:## 概要\r\n\r\n昨今、 Claude Code をはじめとする AI ツールの登場により、アプリケーションの開発スタイルは大きく変化を遂げようとしています。\r\n\r\n特に、Claude CodeやFigma Dev Mode MCPを活用したコード生成が注目されています。\r\nしかし、FigmaのCode ConnectがFlutterに非対応である点や、生成されるコードの精度に課題がある点など、Flutterとの連携には課題があります。\r\n\r\n本LTでは、Figma MCPとClaude Codeを使って、より実用的なUI開発を行うためのTipsを5つご紹介します。\r\n\r\n## 想定視聴者\r\n\r\n- Flutterを用いてUI開発を行っている方\r\n- Figma・デザインシステムを活用したい方,speakers:keigomichi,speakerAvatarUrls:https://fortee.jp/files/flutterkaigi-2025/speaker/d5415821-0405-42f9-ad4f-c22bf0d1d141.jpg,speakerXIds:keigomichi}--> div> button styleposition: relative; cursor: pointer; text-decoration: underline>FlutterにおけるFigma Dev Mode MCP活用Tips 5選/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> article stylepadding: 0rem 1rem 2rem 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> div stylepadding-top: 1rem; position: sticky; top: 0px; background-color: inherit> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>FlutterにおけるFigma Dev Mode MCP活用Tips 5選/h3> ul stylemargin-top: 0.5rem; display: flex; gap: 1rem> li>Impeller 17:50/li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://fortee.jp/flutterkaigi-2025/proposal/bc9dab5d-fd34-42c4-b391-34994c12eef2 target_blank>Fortee/a> /li> /ul> ul stylemargin-top: 0.5rem; margin-bottom: 0.5rem; display: flex; width: 100%; gap: 0.5rem> li styledisplay: flex; align-items: center> img stylemargin-right: 0.5rem; width: 2rem; height: 2rem; border-radius: 1rem; overflow: hidden; vertical-align: middle altkeigomichiのアバター srchttps://fortee.jp/files/flutterkaigi-2025/speaker/d5415821-0405-42f9-ad4f-c22bf0d1d141.jpg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/keigomichi target_blank>keigomichi/a> /li> /ul> /div> section classsession-info stylewidth: 100%; white-space: pre-wrap> h2>概要/h2> p>昨今、 Claude Code をはじめとする AI ツールの登場により、アプリケーションの開発スタイルは大きく変化を遂げようとしています。/p> p>特に、Claude CodeやFigma Dev Mode MCPを活用したコード生成が注目されています。 しかし、FigmaのCode ConnectがFlutterに非対応である点や、生成されるコードの精度に課題がある点など、Flutterとの連携には課題があります。/p> p>本LTでは、Figma MCPとClaude Codeを使って、より実用的なUI開発を行うためのTipsを5つご紹介します。/p> h2>想定視聴者/h2> ul> li>Flutterを用いてUI開発を行っている方/li> li>Figma・デザインシステムを活用したい方/li> /ul> /section> /article> /dialog> /div> !--/@src/components/timeline--> li stylecolor: gray; font-size: inherit; white-space: nowrap>5 min/li> /li> /ul> /li> /ul> p stylemargin-top: 2rem; display: flex; flex-direction: column; align-items: center> a hrefhttps://fortee.jp/flutterkaigi-2025/proposal target_blank>button classprimary-button styledisplay: flex; position: relative; cursor: pointer; color: white; font-size: 1rem; justify-content: center; gap: 1rem>プロポーザル一覧を見るdiv stylewidth: 1.5em; height: 1.5em; background-color: #e3e3e3; mask: url(/img/icon/open-in-new.svg) no-repeat center; -webkit-mask: url(/img/icon/open-in-new.svg) no-repeat center>/div>/button>/a> /p> /section> section idsponsor stylemargin-top: 2rem; display: flex; width: 100%; max-width: 1000px; flex-direction: column; justify-content: start> h2 stylemargin-bottom: 1.5rem; font-family: Lexend; font-size: 2rem; font-weight: 900>Sponsor/h2> ul styledisplay: grid> div stylemargin-top: 1rem> h3 styledisplay: block; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold; text-align: center; background: linear-gradient(to bottom, #b7dce1, #6bb5c2); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent>Platinum/h3> div stylemargin-top: 1rem; margin-bottom: 1.25rem; display: flex; justify-content: center> ul styledisplay: flex; flex-wrap: wrap; justify-content: center; gap: 1rem> li> !--@src/components/sponsor data{name:株式会社ゆめみ,logo:https://2025-bucket.flutterkaigi.jp/companies/1faeb563-9e1c-4f56-96ab-32d45bab81d0.webp,width:16,pr:6000万人のみんな知ってるあのサービスも、ゆめみが一緒に作ってます。大手企業や急成長スタートアップと共創型でWeb/スマホのサービス作りや内製化支援を行っています。【エンジニアが最も成長できる会社No.1】を目標にした、アジャイル組織として先端を走るエンジニア集団です。,url:https://yumemi.co.jp/,type:Platinum,snsX:yumemiinc}--> div> button stylewidth: 16rem; height: 16rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/1faeb563-9e1c-4f56-96ab-32d45bab81d0.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社ゆめみ/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/1faeb563-9e1c-4f56-96ab-32d45bab81d0.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社ゆめみ/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://yumemi.co.jp/ target_blank>https://yumemi.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/yumemiinc target_blank>@yumemiinc/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 6000万人のみんな知ってるあのサービスも、ゆめみが一緒に作ってます。大手企業や急成長スタートアップと共創型でWeb/スマホのサービス作りや内製化支援を行っています。【エンジニアが最も成長できる会社No.1】を目標にした、アジャイル組織として先端を走るエンジニア集団です。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社出前館,logo:https://2025-bucket.flutterkaigi.jp/companies/d1c33512-f3dc-4f53-b099-3193fa495df0.webp,width:16,pr:出前館はクイックコマースサービスとして領域を拡大し、当社のコーポレートミッション「テクノロジーで時間価値を高める」に基づき、利用いただいた皆さまに対して“時間価値の最大化“を実現していきたいと考えています。\n地域活性化とともに、少子高齢化や買い物難民の増加をはじめとした地域や社会課題の解決に向き合い、社会にとって不可欠なライフインフラとして日本経済の発展に貢献できるサービスを目指して挑戦を続けています。,url:https://recruit.demae-can.co.jp/,type:Platinum,snsX:null}--> div> button stylewidth: 16rem; height: 16rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/d1c33512-f3dc-4f53-b099-3193fa495df0.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社出前館/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/d1c33512-f3dc-4f53-b099-3193fa495df0.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社出前館/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://recruit.demae-can.co.jp/ target_blank>https://recruit.demae-can.co.jp//a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 出前館はクイックコマースサービスとして領域を拡大し、当社のコーポレートミッション「テクノロジーで時間価値を高める」に基づき、利用いただいた皆さまに対して“時間価値の最大化“を実現していきたいと考えています。 地域活性化とともに、少子高齢化や買い物難民の増加をはじめとした地域や社会課題の解決に向き合い、社会にとって不可欠なライフインフラとして日本経済の発展に貢献できるサービスを目指して挑戦を続けています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社アサイン,logo:https://2025-bucket.flutterkaigi.jp/companies/ecc75bda-1dda-4693-81c3-fee61f8c9d8d.webp,width:16,pr:アサインは「人」と「技術」の力で、若手ハイエンド向けのキャリア支援サービスを提供しています。\n\n転職サイト『ASSIGN』は、単なる転職支援に留まらず、長期のキャリア形成をサポートするために、キャリア実現に欠かせないパーソナライズされた情報へのアクセスを容易にしています。技術の力を最大限活用し、ユーザーへの提供価値を向上させています。\n\n若手ハイエンド特化の転職サイト『ASSIGN』\n・2019年のサービス開始以来 累計ユーザー数66万人突破\n・2021年4月からFlutterで開発,url:https://assign-inc.com/,type:Platinum,snsX:null}--> div> button stylewidth: 16rem; height: 16rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/ecc75bda-1dda-4693-81c3-fee61f8c9d8d.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社アサイン/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/ecc75bda-1dda-4693-81c3-fee61f8c9d8d.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社アサイン/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://assign-inc.com/ target_blank>https://assign-inc.com//a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> アサインは「人」と「技術」の力で、若手ハイエンド向けのキャリア支援サービスを提供しています。 転職サイト『ASSIGN』は、単なる転職支援に留まらず、長期のキャリア形成をサポートするために、キャリア実現に欠かせないパーソナライズされた情報へのアクセスを容易にしています。技術の力を最大限活用し、ユーザーへの提供価値を向上させています。 若手ハイエンド特化の転職サイト『ASSIGN』 ・2019年のサービス開始以来 累計ユーザー数66万人突破 ・2021年4月からFlutterで開発 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:RevenueCat, Inc.,logo:https://2025-bucket.flutterkaigi.jp/companies/bacfba76-0a04-4a02-b67a-7e05245efeeb.webp,width:16,pr:RevenueCatは、iOS、Android、Webに対応した、世界有数のコンシューマーアプリ収益化プラットフォームを提供する米国企業です。サブスクリプション、消耗型アイテム、買い切り、ポイントに対応した課金・分析・コンバージョン最適化の一元管理を可能にします。ChatGPTやNotionを含む5万本以上のアプリに導入され、100億ドル以上の年間追跡売上を処理しています。詳しくはrevenuecat.com/jpをご覧ください。,url:https://www.revenuecat.com/jp/,type:Platinum,snsX:RevenueCat}--> div> button stylewidth: 16rem; height: 16rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/bacfba76-0a04-4a02-b67a-7e05245efeeb.webp); background-position: center; background-repeat: no-repeat; background-size: contain>RevenueCat, Inc./button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/bacfba76-0a04-4a02-b67a-7e05245efeeb.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>RevenueCat, Inc./h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.revenuecat.com/jp/ target_blank>https://www.revenuecat.com/jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/RevenueCat target_blank>@RevenueCat/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> RevenueCatは、iOS、Android、Webに対応した、世界有数のコンシューマーアプリ収益化プラットフォームを提供する米国企業です。サブスクリプション、消耗型アイテム、買い切り、ポイントに対応した課金・分析・コンバージョン最適化の一元管理を可能にします。ChatGPTやNotionを含む5万本以上のアプリに導入され、100億ドル以上の年間追跡売上を処理しています。詳しくはrevenuecat.com/jpをご覧ください。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:Flutter,logo:https://2025-bucket.flutterkaigi.jp/companies/79c925a9-40c3-4d6a-9c99-0fe0ccfc5f2b.webp,width:16,pr:Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications. Transform your app development process to launch faster with less resources by building, testing, and deploying from a single codebase.,url:https://flutter.dev/,type:Platinum,snsX:FlutterDev}--> div> button stylewidth: 16rem; height: 16rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/79c925a9-40c3-4d6a-9c99-0fe0ccfc5f2b.webp); background-position: center; background-repeat: no-repeat; background-size: contain>Flutter/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/79c925a9-40c3-4d6a-9c99-0fe0ccfc5f2b.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Flutter/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://flutter.dev/ target_blank>https://flutter.dev//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/FlutterDev target_blank>@FlutterDev/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications. Transform your app development process to launch faster with less resources by building, testing, and deploying from a single codebase. /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> /ul> /div> /div> div stylemargin-top: 1rem> h3 styledisplay: block; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold; text-align: center; background: linear-gradient(to bottom, #ebd9a3, #daba58); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent>Gold/h3> div stylemargin-top: 1rem; margin-bottom: 1.25rem; display: flex; justify-content: center> ul styledisplay: flex; flex-wrap: wrap; justify-content: center; gap: 1rem> li> !--@src/components/sponsor data{name:株式会社サイバーエージェント,logo:https://2025-bucket.flutterkaigi.jp/companies/e9f3db7b-3742-4763-b8ff-9bc6a34050a2.webp,width:12,pr:サイバーエージェントはインターネットを軸に、メディア&IP事業、インターネット広告事業、ゲーム事業と主に3つの事業を展開しています。その他にもIP・コンテンツ、AI、DXを強化分野として事業創出に取り組んでおり、様々な事業でFlutterの活用事例があります。社内発の社外向けの勉強会である「CA.flutter」も定期的に開催しています。,url:https://www.cyberagent.co.jp/,type:Gold,snsX:ca_developers}--> div> button stylewidth: 12rem; height: 12rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/e9f3db7b-3742-4763-b8ff-9bc6a34050a2.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社サイバーエージェント/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/e9f3db7b-3742-4763-b8ff-9bc6a34050a2.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社サイバーエージェント/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.cyberagent.co.jp/ target_blank>https://www.cyberagent.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/ca_developers target_blank>@ca_developers/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> サイバーエージェントはインターネットを軸に、メディア&IP事業、インターネット広告事業、ゲーム事業と主に3つの事業を展開しています。その他にもIP・コンテンツ、AI、DXを強化分野として事業創出に取り組んでおり、様々な事業でFlutterの活用事例があります。社内発の社外向けの勉強会である「CA.flutter」も定期的に開催しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社iiba,logo:https://2025-bucket.flutterkaigi.jp/companies/5e66a21e-0539-4eb7-8546-7077d2b91ace.webp,width:12,pr:株式会社iibaは、全国10万件超の子育てスポット情報を集約するマップアプリを運営しています。自治体・企業と連携し、地域経済を動かすプラットフォームへ成長中です。FlutterでUXを磨き、バウチャー決済や位置情報解析などを高速実装。社会課題を事業で解決しスケールさせる開発に挑みたい方、ぜひお話ししましょう!,url:https://corporate.iiba.space/,type:Gold,snsX:nanaizw}--> div> button stylewidth: 12rem; height: 12rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/5e66a21e-0539-4eb7-8546-7077d2b91ace.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社iiba/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/5e66a21e-0539-4eb7-8546-7077d2b91ace.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社iiba/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://corporate.iiba.space/ target_blank>https://corporate.iiba.space//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/nanaizw target_blank>@nanaizw/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 株式会社iibaは、全国10万件超の子育てスポット情報を集約するマップアプリを運営しています。自治体・企業と連携し、地域経済を動かすプラットフォームへ成長中です。FlutterでUXを磨き、バウチャー決済や位置情報解析などを高速実装。社会課題を事業で解決しスケールさせる開発に挑みたい方、ぜひお話ししましょう! /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:シンプレクス株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/37531bac-96ce-41da-a1a0-93b948e16440.webp,width:12,pr:シンプレクスは1997年の創業以来、メガバンクや大手総合証券を筆頭に、日本を代表する金融機関のテクノロジーパートナーとしてビジネスを展開してきました。現在では、金融領域で培った豊富なノウハウを活用し、金融機関以外の領域でもソリューションを展開しています。,url:https://www.simplex.inc/,type:Gold,snsX:SimplexHoldings}--> div> button stylewidth: 12rem; height: 12rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/37531bac-96ce-41da-a1a0-93b948e16440.webp); background-position: center; background-repeat: no-repeat; background-size: contain>シンプレクス株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/37531bac-96ce-41da-a1a0-93b948e16440.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>シンプレクス株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.simplex.inc/ target_blank>https://www.simplex.inc//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/SimplexHoldings target_blank>@SimplexHoldings/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> シンプレクスは1997年の創業以来、メガバンクや大手総合証券を筆頭に、日本を代表する金融機関のテクノロジーパートナーとしてビジネスを展開してきました。現在では、金融領域で培った豊富なノウハウを活用し、金融機関以外の領域でもソリューションを展開しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:Codemagic,logo:https://2025-bucket.flutterkaigi.jp/companies/fe7aef86-b75f-46fc-ba97-3c47095bc68d.webp,width:12,pr:Codemagic はモバイルアプリ向けの高速 CI/CD です。iOS、Android、Flutter、React Native アプリをシームレスにビルド・テスト・リリースできます。ワークフローを自動化し、時間を節約して、自信を持ってリリースしましょう。,url:https://codemagic.io,type:Gold,snsX:codemagicio}--> div> button stylewidth: 12rem; height: 12rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/fe7aef86-b75f-46fc-ba97-3c47095bc68d.webp); background-position: center; background-repeat: no-repeat; background-size: contain>Codemagic/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/fe7aef86-b75f-46fc-ba97-3c47095bc68d.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Codemagic/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://codemagic.io target_blank>https://codemagic.io/a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/codemagicio target_blank>@codemagicio/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> Codemagic はモバイルアプリ向けの高速 CI/CD です。iOS、Android、Flutter、React Native アプリをシームレスにビルド・テスト・リリースできます。ワークフローを自動化し、時間を節約して、自信を持ってリリースしましょう。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社MagicPod,logo:https://2025-bucket.flutterkaigi.jp/companies/4b5f8de2-a2fd-413f-8785-47ee0096cec1.webp,width:12,pr:MagicPodは、モバイルアプリ・ブラウザ(ウェブアプリ)テストの両方に対応したAIテスト自動化プラットフォームを提供しています。自然言語だけでテストの作成・編集・実行ができる「MagicPod Autopilot」機能や、AIによる自動修正、クラウドでのサービス提供によるメンテナンス性の高さで、リリースサイクルの高速化を支援しています。,url:https://magicpod.com/,type:Gold,snsX:MagicPodJP}--> div> button stylewidth: 12rem; height: 12rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/4b5f8de2-a2fd-413f-8785-47ee0096cec1.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社MagicPod/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/4b5f8de2-a2fd-413f-8785-47ee0096cec1.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社MagicPod/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://magicpod.com/ target_blank>https://magicpod.com//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/MagicPodJP target_blank>@MagicPodJP/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> MagicPodは、モバイルアプリ・ブラウザ(ウェブアプリ)テストの両方に対応したAIテスト自動化プラットフォームを提供しています。自然言語だけでテストの作成・編集・実行ができる「MagicPod Autopilot」機能や、AIによる自動修正、クラウドでのサービス提供によるメンテナンス性の高さで、リリースサイクルの高速化を支援しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> /ul> /div> /div> div stylemargin-top: 1rem> h3 styledisplay: block; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold; text-align: center; background: linear-gradient(to bottom, #d6d7d7, #909c9e); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent>Silver/h3> div stylemargin-top: 1rem; margin-bottom: 1.25rem; display: flex; justify-content: center> ul styledisplay: flex; flex-wrap: wrap; justify-content: center; gap: 1rem> li> !--@src/components/sponsor data{name:株式会社ZOZO,logo:https://2025-bucket.flutterkaigi.jp/companies/1081d25c-46d3-4620-bc9b-66ee70a356bb.webp,width:9,pr:ファッションEC「ZOZOTOWN」、ファッションコーディネートアプリ「WEAR by ZOZO」など各種サービスの企画・展開のほか、「ZOZOSUIT」「ZOZOMAT」「ZOZOGLASS」など計測技術の開発・活用にも取り組んでいます。,url:https://corp.zozo.com/,type:Silver,snsX:zozotech}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/1081d25c-46d3-4620-bc9b-66ee70a356bb.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社ZOZO/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/1081d25c-46d3-4620-bc9b-66ee70a356bb.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社ZOZO/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://corp.zozo.com/ target_blank>https://corp.zozo.com//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/zozotech target_blank>@zozotech/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> ファッションEC「ZOZOTOWN」、ファッションコーディネートアプリ「WEAR by ZOZO」など各種サービスの企画・展開のほか、「ZOZOSUIT」「ZOZOMAT」「ZOZOGLASS」など計測技術の開発・活用にも取り組んでいます。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社GENDA,logo:https://2025-bucket.flutterkaigi.jp/companies/44a6529b-c7fd-4e34-8c65-07cfab1143f8.webp,width:9,pr:「世界中の人々の人生をより楽しく」をAspirationに掲げるエンタメ企業。「GiGO」等のアミューズメント施設運営やカラオケ、キャラクターMD、F&B、コンテンツ&プロモーションなどエンタメ領域で事業を展開しています。,url:https://genda.jp/,type:Silver,snsX:GENDA_jp}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/44a6529b-c7fd-4e34-8c65-07cfab1143f8.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社GENDA/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/44a6529b-c7fd-4e34-8c65-07cfab1143f8.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社GENDA/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://genda.jp/ target_blank>https://genda.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/GENDA_jp target_blank>@GENDA_jp/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 「世界中の人々の人生をより楽しく」をAspirationに掲げるエンタメ企業。「GiGO」等のアミューズメント施設運営やカラオケ、キャラクターMD、F&B、コンテンツ&プロモーションなどエンタメ領域で事業を展開しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:エムスリー株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/18518903-01a8-43e8-857a-56cb8d478ef8.webp,width:9,pr:エムスリーは\インターネットを活用し、健康で楽しく長生きする人を1人でも増やし、不必要な医療コストを1円でも減らすこと\ をミッションに、テクノロジーの力で日本および世界の医療の変革にチャレンジしています。,url:https://jobs.m3.com/product/,type:Silver,snsX:m3_engineering}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/18518903-01a8-43e8-857a-56cb8d478ef8.webp); background-position: center; background-repeat: no-repeat; background-size: contain>エムスリー株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/18518903-01a8-43e8-857a-56cb8d478ef8.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>エムスリー株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://jobs.m3.com/product/ target_blank>https://jobs.m3.com/product//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/m3_engineering target_blank>@m3_engineering/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> エムスリーはインターネットを活用し、健康で楽しく長生きする人を1人でも増やし、不必要な医療コストを1円でも減らすこと をミッションに、テクノロジーの力で日本および世界の医療の変革にチャレンジしています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社Lincwell,logo:https://2025-bucket.flutterkaigi.jp/companies/afae8fe0-b0d8-43c9-85e3-aa82ef30d001.webp,width:9,pr:Lincwellは「テクノロジーを通じて、医療を一歩前へ」をミッションに掲げ、医療を効率化し患者の医療体験と医療の質の向上を目指した事業展開を行っています。2023年リリースのFlutterアプリ「クリフォア」を開発する仲間を募集中です!,url:https://linc-well.com/,type:Silver,snsX:lincwell_dev}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/afae8fe0-b0d8-43c9-85e3-aa82ef30d001.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社Lincwell/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/afae8fe0-b0d8-43c9-85e3-aa82ef30d001.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社Lincwell/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://linc-well.com/ target_blank>https://linc-well.com//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/lincwell_dev target_blank>@lincwell_dev/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> Lincwellは「テクノロジーを通じて、医療を一歩前へ」をミッションに掲げ、医療を効率化し患者の医療体験と医療の質の向上を目指した事業展開を行っています。2023年リリースのFlutterアプリ「クリフォア」を開発する仲間を募集中です! /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社ディー・エヌ・エー,logo:https://2025-bucket.flutterkaigi.jp/companies/04feaac2-4660-4260-b66c-e5d8a071d219.webp,width:9,pr:DeNAは、事業価値の最大化と課題解決のためのAI活用と独自のデータ分析手法によって、ゲーム、ライブスコミュニティ、スポーツ・まちづくり、ヘルスケア・メディカルなど幅広い事業を展開しています。\n\nAt DeNA (pronounced \D-N-A\) we use AI technology and our unique data analysis methods to maximize business value and solve problems to engage in a variety of businesses, from games and live communities to sports & the community and healthcare & medical.,url:https://dena.com/jp/,type:Silver,snsX:DeNAxTech}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/04feaac2-4660-4260-b66c-e5d8a071d219.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社ディー・エヌ・エー/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/04feaac2-4660-4260-b66c-e5d8a071d219.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社ディー・エヌ・エー/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://dena.com/jp/ target_blank>https://dena.com/jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/DeNAxTech target_blank>@DeNAxTech/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> DeNAは、事業価値の最大化と課題解決のためのAI活用と独自のデータ分析手法によって、ゲーム、ライブスコミュニティ、スポーツ・まちづくり、ヘルスケア・メディカルなど幅広い事業を展開しています。 At DeNA (pronounced D-N-A) we use AI technology and our unique data analysis methods to maximize business value and solve problems to engage in a variety of businesses, from games and live communities to sports & the community and healthcare & medical. /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:CodeRabbit,logo:https://2025-bucket.flutterkaigi.jp/companies/6ebbd536-cc3d-43a3-9138-1294f7b2088e.webp,width:9,pr:CodeRabbitはAIコードレビューサービスです。GitHub/GitLabなどのPRに対して、自動的にコードレビューを行います。レビューの負荷軽減、時間削減、チーム開発効率化に貢献します!,url:https://www.coderabbit.ai,type:Silver,snsX:Coderabbitaija}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/6ebbd536-cc3d-43a3-9138-1294f7b2088e.webp); background-position: center; background-repeat: no-repeat; background-size: contain>CodeRabbit/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/6ebbd536-cc3d-43a3-9138-1294f7b2088e.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>CodeRabbit/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.coderabbit.ai target_blank>https://www.coderabbit.ai/a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Coderabbitaija target_blank>@Coderabbitaija/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap>CodeRabbitはAIコードレビューサービスです。GitHub/GitLabなどのPRに対して、自動的にコードレビューを行います。レビューの負荷軽減、時間削減、チーム開発効率化に貢献します!/p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社YOUTRUST,logo:https://2025-bucket.flutterkaigi.jp/companies/9a5aabf0-1268-478d-9811-dee1ee483ac0.webp,width:9,pr:技術で世界を変えるFlutterエンジニアを応援!YOUTRUSTはキャリアSNSで技術者のつながりを創り、Flutter開発者の挑戦と成長を心から応援しています。,url:https://youtrust.co.jp/,type:Silver,snsX:YOUTRUSTinc}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/9a5aabf0-1268-478d-9811-dee1ee483ac0.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社YOUTRUST/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/9a5aabf0-1268-478d-9811-dee1ee483ac0.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社YOUTRUST/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://youtrust.co.jp/ target_blank>https://youtrust.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/YOUTRUSTinc target_blank>@YOUTRUSTinc/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap>技術で世界を変えるFlutterエンジニアを応援!YOUTRUSTはキャリアSNSで技術者のつながりを創り、Flutter開発者の挑戦と成長を心から応援しています。/p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:ソニー株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/31303bcb-0fe0-42d2-a870-3d7fcf0d1ac3.webp,width:9,pr:ソニー株式会社は「テクノロジーの力で未来のエンタテインメントをクリエイターと共創する」ことをミッションとし、世界中の人に感動を届けることをめざしています。\n新たな映像や音を表現するテクノロジーとサービスに挑戦し続け、世界中の人々を感動させるエンタテイメントの未来を、クリエイターと共に創造しています。,url:https://www.sony.co.jp/,type:Silver,snsX:null}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/31303bcb-0fe0-42d2-a870-3d7fcf0d1ac3.webp); background-position: center; background-repeat: no-repeat; background-size: contain>ソニー株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/31303bcb-0fe0-42d2-a870-3d7fcf0d1ac3.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>ソニー株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.sony.co.jp/ target_blank>https://www.sony.co.jp//a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> ソニー株式会社は「テクノロジーの力で未来のエンタテインメントをクリエイターと共創する」ことをミッションとし、世界中の人に感動を届けることをめざしています。 新たな映像や音を表現するテクノロジーとサービスに挑戦し続け、世界中の人々を感動させるエンタテイメントの未来を、クリエイターと共に創造しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:チームラボ,logo:https://2025-bucket.flutterkaigi.jp/companies/505e878e-3372-43e7-b3be-7c790258428f.webp,width:9,pr:最新のテクノロジーを活用したソリューション、大規模なシステム開発、都市計画や、ICT空間設計などを行う。チームラボのFlutter活用事例はGoogle I/Oでも紹介されました。https://youtu.be/OyS812ZoTzw,url:https://www.team-lab.com/,type:Silver,snsX:teamlab_recruit}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/505e878e-3372-43e7-b3be-7c790258428f.webp); background-position: center; background-repeat: no-repeat; background-size: contain>チームラボ/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/505e878e-3372-43e7-b3be-7c790258428f.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>チームラボ/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.team-lab.com/ target_blank>https://www.team-lab.com//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/teamlab_recruit target_blank>@teamlab_recruit/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 最新のテクノロジーを活用したソリューション、大規模なシステム開発、都市計画や、ICT空間設計などを行う。チームラボのFlutter活用事例はGoogle I/Oでも紹介されました。https://youtu.be/OyS812ZoTzw /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社hacomono,logo:https://2025-bucket.flutterkaigi.jp/companies/3c10e94c-c7bb-458a-a7a3-4fdfa5e5bbe6.webp,width:9,pr:hacomonoはウェルネス産業向けVertical SaaS企業です。会員管理のデジタル化を提供し、ジュニアスクールや公共施設等に導入されています。7月に発表のtoC向け新サービス「FitFits」の開発にFlutterを採用しています。,url:https://www.hacomono.co.jp/,type:Silver,snsX:hacomono_Dev}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/3c10e94c-c7bb-458a-a7a3-4fdfa5e5bbe6.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社hacomono/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/3c10e94c-c7bb-458a-a7a3-4fdfa5e5bbe6.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社hacomono/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.hacomono.co.jp/ target_blank>https://www.hacomono.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/hacomono_Dev target_blank>@hacomono_Dev/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> hacomonoはウェルネス産業向けVertical SaaS企業です。会員管理のデジタル化を提供し、ジュニアスクールや公共施設等に導入されています。7月に発表のtoC向け新サービス「FitFits」の開発にFlutterを採用しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:SODA inc.,logo:https://2025-bucket.flutterkaigi.jp/companies/2bdfe925-6d50-47c9-bbfc-9f44e89d9ccc.webp,width:9,pr:「SNKRDUNK(スニーカーダンク)」は、スニーカーやアパレルを中心とするファッション領域やトレーディングカード・フィギュアなどを中心に、個人間での売買を簡単に行える国内最大級のファッション・コレクティブルマーケットプレイスです。,url:https://soda-inc.jp/,type:Silver,snsX:null}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/2bdfe925-6d50-47c9-bbfc-9f44e89d9ccc.webp); background-position: center; background-repeat: no-repeat; background-size: contain>SODA inc./button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/2bdfe925-6d50-47c9-bbfc-9f44e89d9ccc.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>SODA inc./h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://soda-inc.jp/ target_blank>https://soda-inc.jp//a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 「SNKRDUNK(スニーカーダンク)」は、スニーカーやアパレルを中心とするファッション領域やトレーディングカード・フィギュアなどを中心に、個人間での売買を簡単に行える国内最大級のファッション・コレクティブルマーケットプレイスです。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> /ul> /div> /div> div stylemargin-top: 1rem> h3 styledisplay: block; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold; text-align: center; background: linear-gradient(to bottom, #bb967a, #946a4a); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent>Bronze/h3> div stylemargin-top: 1rem; margin-bottom: 1.25rem; display: flex; justify-content: center> ul styledisplay: flex; flex-wrap: wrap; justify-content: center; gap: 1rem> li> !--@src/components/sponsor data{name:株式会社MIXI,logo:https://2025-bucket.flutterkaigi.jp/companies/53366548-10d0-4272-8bb6-462321f51e4d.webp,width:9,pr:MIXIは、「豊かなコミュニケーションを広げ、世界を幸せな驚きで包む。」というパーパスのもと、「mixi」や「モンスターストライク」など、友人や家族間で一緒に楽しむコミュニケーションサービスを提供しています。,url:https://mixi.co.jp/,type:Bronze,snsX:mixi_engineers}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/53366548-10d0-4272-8bb6-462321f51e4d.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社MIXI/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/53366548-10d0-4272-8bb6-462321f51e4d.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社MIXI/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://mixi.co.jp/ target_blank>https://mixi.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/mixi_engineers target_blank>@mixi_engineers/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> MIXIは、「豊かなコミュニケーションを広げ、世界を幸せな驚きで包む。」というパーパスのもと、「mixi」や「モンスターストライク」など、友人や家族間で一緒に楽しむコミュニケーションサービスを提供しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:スタディプラス株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/95fc9aaa-38d1-482b-ac8f-fe9bdb9db0a7.webp,width:9,pr:スタディプラスは「学ぶ喜びをすべての人へ」をミッションに、学習の記録・可視化・共有をサポートするStudyplusを提供しています。楽しく学びを広げるプラットフォームを一緒に作りませんか?あなたのアイデアが、学びを豊かにする力になります。,url:https://info.studyplus.co.jp/,type:Bronze,snsX:studyplus_dev}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/95fc9aaa-38d1-482b-ac8f-fe9bdb9db0a7.webp); background-position: center; background-repeat: no-repeat; background-size: contain>スタディプラス株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/95fc9aaa-38d1-482b-ac8f-fe9bdb9db0a7.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>スタディプラス株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://info.studyplus.co.jp/ target_blank>https://info.studyplus.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/studyplus_dev target_blank>@studyplus_dev/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> スタディプラスは「学ぶ喜びをすべての人へ」をミッションに、学習の記録・可視化・共有をサポートするStudyplusを提供しています。楽しく学びを広げるプラットフォームを一緒に作りませんか?あなたのアイデアが、学びを豊かにする力になります。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社ギークニア,logo:https://2025-bucket.flutterkaigi.jp/companies/47c20891-cb0b-48b0-8f32-aec3856a2a4e.webp,width:9,pr:ギークニアは、転職エージェントが全員元エンジニアの人材紹介会社です。エンジニア、ITコンサル、PM、データサイエンティスト、PdM、SRE、QAエンジニアなどIT専門職の方のキャリアサクセスを応援しております。,url:https://geekneer.com/,type:Bronze,snsX:geekneerjp}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/47c20891-cb0b-48b0-8f32-aec3856a2a4e.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社ギークニア/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/47c20891-cb0b-48b0-8f32-aec3856a2a4e.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社ギークニア/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://geekneer.com/ target_blank>https://geekneer.com//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/geekneerjp target_blank>@geekneerjp/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> ギークニアは、転職エージェントが全員元エンジニアの人材紹介会社です。エンジニア、ITコンサル、PM、データサイエンティスト、PdM、SRE、QAエンジニアなどIT専門職の方のキャリアサクセスを応援しております。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:Sentry,logo:https://2025-bucket.flutterkaigi.jp/companies/424643b3-4119-45e2-bb58-bdad2cd4ee48.webp,width:9,pr:Sentryはリアルタイムエラー追跡と詳細情報提供で迅速な問題特定を実現。多言語対応でウェブ、モバイル、バックエンドを一気通貫で監視が可能。Ichizokuとの協業で日本市場向けに特化した強力なサポートを提供し、迅速な対応を実現しています。,url:https://sentry.ichizoku.io/,type:Bronze,snsX:SentryJapan}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/424643b3-4119-45e2-bb58-bdad2cd4ee48.webp); background-position: center; background-repeat: no-repeat; background-size: contain>Sentry/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/424643b3-4119-45e2-bb58-bdad2cd4ee48.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Sentry/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://sentry.ichizoku.io/ target_blank>https://sentry.ichizoku.io//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/SentryJapan target_blank>@SentryJapan/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> Sentryはリアルタイムエラー追跡と詳細情報提供で迅速な問題特定を実現。多言語対応でウェブ、モバイル、バックエンドを一気通貫で監視が可能。Ichizokuとの協業で日本市場向けに特化した強力なサポートを提供し、迅速な対応を実現しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:パイオニア株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/e1a96c10-fa3f-4036-aad2-4da3aa063b86.webp,width:9,pr:企業ミッション「より多くの人と、感動を」のもと、カーエレクトロニクス分野を中心に、斬新でユニークな発想とテクノロジーを活かし、車室内の快適性、感動、安心・安全を実現する製品・サービスを提供することで、新たな価値を提案していく会社です,url:https://jpn.pioneer/ja/,type:Bronze,snsX:Pioneer_PR}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/e1a96c10-fa3f-4036-aad2-4da3aa063b86.webp); background-position: center; background-repeat: no-repeat; background-size: contain>パイオニア株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/e1a96c10-fa3f-4036-aad2-4da3aa063b86.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>パイオニア株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://jpn.pioneer/ja/ target_blank>https://jpn.pioneer/ja//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Pioneer_PR target_blank>@Pioneer_PR/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 企業ミッション「より多くの人と、感動を」のもと、カーエレクトロニクス分野を中心に、斬新でユニークな発想とテクノロジーを活かし、車室内の快適性、感動、安心・安全を実現する製品・サービスを提供することで、新たな価値を提案していく会社です /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社メドレー,logo:https://2025-bucket.flutterkaigi.jp/companies/1c402e3a-eaa9-4a45-b87b-6547b156ee49.webp,width:9,pr:メドレーは、「医療ヘルスケアの未来をつくる」ミッションのもと、テクノロジーを活用した事業やプロジェクトを通じて、医療ヘルスケア分野の課題を解決していきます。それにより、「持続可能な医療」の実現と、「納得できる医療」の実現を目指しています。,url:https://www.medley.jp/,type:Bronze,snsX:medley_dev}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/1c402e3a-eaa9-4a45-b87b-6547b156ee49.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社メドレー/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/1c402e3a-eaa9-4a45-b87b-6547b156ee49.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社メドレー/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.medley.jp/ target_blank>https://www.medley.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/medley_dev target_blank>@medley_dev/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> メドレーは、「医療ヘルスケアの未来をつくる」ミッションのもと、テクノロジーを活用した事業やプロジェクトを通じて、医療ヘルスケア分野の課題を解決していきます。それにより、「持続可能な医療」の実現と、「納得できる医療」の実現を目指しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:Hamee株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/ea8c5639-f5fb-4674-9381-bca60d900b84.webp,width:9,pr:私たちHameeのPurposeは「クリエイティブ魂に火をつける」です。\nクリエイティブ魂は、自分らしさを最大限に発揮し、挑戦し、成し遂げる時に燃え盛ります。\nこの炎を広げ、世界中を熱くすることが私たちの使命です。 ,url:https://hamee.co.jp/recruit/love-odawara,type:Bronze,snsX:null}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/ea8c5639-f5fb-4674-9381-bca60d900b84.webp); background-position: center; background-repeat: no-repeat; background-size: contain>Hamee株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/ea8c5639-f5fb-4674-9381-bca60d900b84.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Hamee株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://hamee.co.jp/recruit/love-odawara target_blank>https://hamee.co.jp/recruit/love-odawara/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 私たちHameeのPurposeは「クリエイティブ魂に火をつける」です。 クリエイティブ魂は、自分らしさを最大限に発揮し、挑戦し、成し遂げる時に燃え盛ります。 この炎を広げ、世界中を熱くすることが私たちの使命です。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社アイビス,logo:https://2025-bucket.flutterkaigi.jp/companies/2c34b7ee-dedf-46fb-b242-4d9af76aa789.webp,width:9,pr:アイビスはFlutterでの開発支援を通じて、関わるすべての人と企業が成長できる持続可能な関係づくりを目指しています。\n共にアイビスを創る仲間も募集しています。,url:https://i-bis.jp/company/profile/,type:Bronze,snsX:Ibis_official_}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/2c34b7ee-dedf-46fb-b242-4d9af76aa789.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社アイビス/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/2c34b7ee-dedf-46fb-b242-4d9af76aa789.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社アイビス/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://i-bis.jp/company/profile/ target_blank>https://i-bis.jp/company/profile//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Ibis_official_ target_blank>@Ibis_official_/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> アイビスはFlutterでの開発支援を通じて、関わるすべての人と企業が成長できる持続可能な関係づくりを目指しています。 共にアイビスを創る仲間も募集しています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社LayerX,logo:https://2025-bucket.flutterkaigi.jp/companies/f9a4166a-fe62-4c06-b299-716adf12feb4.webp,width:9,pr:LayerXは「すべての経済活動を、デジタル化する。」をミッションに掲げ、SaaS+Fintechを軸に、AIを中心としたソフトウェア体験を社会実装するスタートアップです。AIを活用し「時間を創造するモバイルアプリ」を一緒に作りませんか?,url:https://layerx.co.jp,type:Bronze,snsX:LayerX_Tech}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/f9a4166a-fe62-4c06-b299-716adf12feb4.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社LayerX/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/f9a4166a-fe62-4c06-b299-716adf12feb4.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社LayerX/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://layerx.co.jp target_blank>https://layerx.co.jp/a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/LayerX_Tech target_blank>@LayerX_Tech/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> LayerXは「すべての経済活動を、デジタル化する。」をミッションに掲げ、SaaS+Fintechを軸に、AIを中心としたソフトウェア体験を社会実装するスタートアップです。AIを活用し「時間を創造するモバイルアプリ」を一緒に作りませんか? /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:NTTレゾナントテクノロジー株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/26972169-bf9c-4995-bb1f-4d58bd9a5eb0.webp,width:9,pr:FlutterKaigi参加者の皆さんへ──NTTレゾナントテクノロジーはUXにこだわるNTTドコモグループの技術カンパニーです。技術を活かし、共に革新的な体験を創りませんか?フルリモート・フルフレックスで挑戦できる環境が整っています。,url:https://nttr-tech.co.jp/,type:Bronze,snsX:nttr_tech}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/26972169-bf9c-4995-bb1f-4d58bd9a5eb0.webp); background-position: center; background-repeat: no-repeat; background-size: contain>NTTレゾナントテクノロジー株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/26972169-bf9c-4995-bb1f-4d58bd9a5eb0.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>NTTレゾナントテクノロジー株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://nttr-tech.co.jp/ target_blank>https://nttr-tech.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/nttr_tech target_blank>@nttr_tech/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> FlutterKaigi参加者の皆さんへ──NTTレゾナントテクノロジーはUXにこだわるNTTドコモグループの技術カンパニーです。技術を活かし、共に革新的な体験を創りませんか?フルリモート・フルフレックスで挑戦できる環境が整っています。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社IBJ,logo:https://2025-bucket.flutterkaigi.jp/companies/503729ef-f6bf-479d-8f28-cd0e8c86770b.webp,width:9,pr:様々な婚活サービスとライフデザインサービスを提供し、日本の婚姻数の3%、最も多くの結婚カップルを創出しています。\n「IT×ヒト」を強みにサービス部門だけでなく、アプリやシステムを改修・開発などクリエイターやエンジニアも活躍している会社です。,url:https://www.ibjapan.jp/,type:Bronze,snsX:IBJ_renmei}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/503729ef-f6bf-479d-8f28-cd0e8c86770b.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社IBJ/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/503729ef-f6bf-479d-8f28-cd0e8c86770b.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社IBJ/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.ibjapan.jp/ target_blank>https://www.ibjapan.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/IBJ_renmei target_blank>@IBJ_renmei/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 様々な婚活サービスとライフデザインサービスを提供し、日本の婚姻数の3%、最も多くの結婚カップルを創出しています。 「IT×ヒト」を強みにサービス部門だけでなく、アプリやシステムを改修・開発などクリエイターやエンジニアも活躍している会社です。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社メンバーズ,logo:https://2025-bucket.flutterkaigi.jp/companies/5d4ed5e9-3094-4af1-b416-3f7a66e4571d.webp,width:9,pr:「DX現場支援で顧客と共に社会変革をリードする」を掲げ、デジタル人材の伴走によるDX現場支援事業を展開。高い専門スキルを持つデジタル人材が取引先企業のチームの一員として、内製によるDX推進を伴走支援しDX投資のROI最大化に貢献します。,url:https://www.members.co.jp/,type:Bronze,snsX:Members_corp}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/5d4ed5e9-3094-4af1-b416-3f7a66e4571d.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社メンバーズ/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/5d4ed5e9-3094-4af1-b416-3f7a66e4571d.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社メンバーズ/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.members.co.jp/ target_blank>https://www.members.co.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Members_corp target_blank>@Members_corp/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 「DX現場支援で顧客と共に社会変革をリードする」を掲げ、デジタル人材の伴走によるDX現場支援事業を展開。高い専門スキルを持つデジタル人材が取引先企業のチームの一員として、内製によるDX推進を伴走支援しDX投資のROI最大化に貢献します。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社TRUSTDOCK,logo:https://2025-bucket.flutterkaigi.jp/companies/0aeb866e-87c0-4ff8-804f-e211d7be569e.webp,width:9,pr:TRUSTDOCKは急成長するeKYC市場で、toB向け本人確認APIやtoC向けデジタルIDウォレットを開発し、社会のデジタル化を推進しています。フルリモートの環境で、社会に必要とされるプロダクトを一緒に開発しませんか?,url:https://biz.trustdock.io/company,type:Bronze,snsX:null}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/0aeb866e-87c0-4ff8-804f-e211d7be569e.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社TRUSTDOCK/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/0aeb866e-87c0-4ff8-804f-e211d7be569e.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社TRUSTDOCK/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://biz.trustdock.io/company target_blank>https://biz.trustdock.io/company/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> TRUSTDOCKは急成長するeKYC市場で、toB向け本人確認APIやtoC向けデジタルIDウォレットを開発し、社会のデジタル化を推進しています。フルリモートの環境で、社会に必要とされるプロダクトを一緒に開発しませんか? /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:GMOコネクト株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/aa5de3ec-e1fb-484c-92e1-0062ddf2f3af.webp,width:9,pr:GMOコネクトは先進的な開発技術と「人」と「テクノロジー」の力で、お客様の「できない」を「できる」に変えるパートナーです。業務課題の解決から、新たな価値創出までを事業に深く寄り添い、最適なITソリューションをモバイル開発も含めご提案しております。,url:https://tech.gmo-connect.com/,type:Bronze,snsX:GMOCONNECT_Tech}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/aa5de3ec-e1fb-484c-92e1-0062ddf2f3af.webp); background-position: center; background-repeat: no-repeat; background-size: contain>GMOコネクト株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/aa5de3ec-e1fb-484c-92e1-0062ddf2f3af.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>GMOコネクト株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://tech.gmo-connect.com/ target_blank>https://tech.gmo-connect.com//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/GMOCONNECT_Tech target_blank>@GMOCONNECT_Tech/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> GMOコネクトは先進的な開発技術と「人」と「テクノロジー」の力で、お客様の「できない」を「できる」に変えるパートナーです。業務課題の解決から、新たな価値創出までを事業に深く寄り添い、最適なITソリューションをモバイル開発も含めご提案しております。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社Leafea,logo:https://2025-bucket.flutterkaigi.jp/companies/53ed94d7-7e82-4e91-bdc5-c935da1c4bb2.webp,width:9,pr:Leafea(リーフィ)は、物価高騰・低賃金時代における生活コスト削減を支援する福利厚生SaaSを展開するスタートアップ企業です。Flutterを活用したモバイルアプリ開発とAIの活用に注力しております。,url:https://leafea.co.jp/,type:Bronze,snsX:null}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/53ed94d7-7e82-4e91-bdc5-c935da1c4bb2.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社Leafea/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/53ed94d7-7e82-4e91-bdc5-c935da1c4bb2.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社Leafea/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://leafea.co.jp/ target_blank>https://leafea.co.jp//a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> Leafea(リーフィ)は、物価高騰・低賃金時代における生活コスト削減を支援する福利厚生SaaSを展開するスタートアップ企業です。Flutterを活用したモバイルアプリ開発とAIの活用に注力しております。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:東急株式会社,logo:https://2025-bucket.flutterkaigi.jp/companies/e3838530-1cf0-4ba6-832b-a3aaefcc4cc0.webp,width:9,pr:東急(株)URBAN HACKSは「街づくりのDX」を実現するための内製開発チームです。東急グループの次の100年を変革する大プロジェクト。あなたの技術や知識を活かし、一緒に世界一の街づくりを目指してみませんか?,url:https://10q89s.jp/,type:Bronze,snsX:urban_89s}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/e3838530-1cf0-4ba6-832b-a3aaefcc4cc0.webp); background-position: center; background-repeat: no-repeat; background-size: contain>東急株式会社/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/e3838530-1cf0-4ba6-832b-a3aaefcc4cc0.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>東急株式会社/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://10q89s.jp/ target_blank>https://10q89s.jp//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/urban_89s target_blank>@urban_89s/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 東急(株)URBAN HACKSは「街づくりのDX」を実現するための内製開発チームです。東急グループの次の100年を変革する大プロジェクト。あなたの技術や知識を活かし、一緒に世界一の街づくりを目指してみませんか? /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> li> !--@src/components/sponsor data{name:株式会社UPSIDER,logo:https://2025-bucket.flutterkaigi.jp/companies/325a5575-b92b-44b9-9f15-0f7ff4c2ff95.webp,width:9,pr:株式会社UPSIDERは「挑戦者を支える世界的な金融プラットフォームを創る」をミッションに、法人カード「UPSIDER」や請求書カード払いサービス「支払い.com」等の金融サービスやUPSIDER AI 経理などの新規サービスを展開。,url:https://corp.up-sider.com/,type:Bronze,snsX:upsider_inc}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/325a5575-b92b-44b9-9f15-0f7ff4c2ff95.webp); background-position: center; background-repeat: no-repeat; background-size: contain>株式会社UPSIDER/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/325a5575-b92b-44b9-9f15-0f7ff4c2ff95.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>株式会社UPSIDER/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://corp.up-sider.com/ target_blank>https://corp.up-sider.com//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/upsider_inc target_blank>@upsider_inc/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> 株式会社UPSIDERは「挑戦者を支える世界的な金融プラットフォームを創る」をミッションに、法人カード「UPSIDER」や請求書カード払いサービス「支払い.com」等の金融サービスやUPSIDER AI 経理などの新規サービスを展開。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> /ul> /div> /div> div stylemargin-top: 1rem> h3 styledisplay: block; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold; text-align: center; background: linear-gradient(to bottom, #d4a5d4, #a77ba7); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent>Tool/h3> div stylemargin-top: 1rem; margin-bottom: 1.25rem; display: flex; justify-content: center> ul styledisplay: flex; flex-wrap: wrap; justify-content: center; gap: 1rem> li> !--@src/components/sponsor data{name:Kibela,logo:https://2025-bucket.flutterkaigi.jp/companies/6baf4450-7dd1-4f37-9480-207748abd562.webp,width:9,pr:Kibelaはシンプルさに徹底的にこだわったドキュメント・ナレッジ管理特化型ツールです。AIによる補助機能、一歩踏み込めば組織拡大にも応える管理機能、無駄なコストが出ないアクティブ課金。一人ひとりがナレッジを活用し自走する組織へ導きます。,url:https://kibe.la/,type:Tool,snsX:kibe_la}--> div> button stylewidth: 9rem; height: 9rem; position: relative; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); cursor: pointer; color: transparent; background-color: white; background-image: url(https://2025-bucket.flutterkaigi.jp/companies/6baf4450-7dd1-4f37-9480-207748abd562.webp); background-position: center; background-repeat: no-repeat; background-size: contain>Kibela/button> dialog stylepadding: 1.5rem; display: none; box-sizing: border-box; width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 10; cursor: pointer; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center> section stylepadding: 1rem; display: flex; width: 100%; max-width: 960px; max-height: 75vh; border-radius: 1rem; overflow-y: auto; background-color: white; flex-direction: column; align-items: center; gap: 1rem> img stylewidth: 100%; max-width: 400px srchttps://2025-bucket.flutterkaigi.jp/companies/6baf4450-7dd1-4f37-9480-207748abd562.webp/> h3 stylewidth: 100%; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold>Kibela/h3> ul stylepadding: 0; margin: 0; display: flex; width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://kibe.la/ target_blank>https://kibe.la//a> /li> li> img styleheight: 1.2em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/kibe_la target_blank>@kibe_la/a> /li> /ul> p stylewidth: 100%; white-space: pre-wrap> Kibelaはシンプルさに徹底的にこだわったドキュメント・ナレッジ管理特化型ツールです。AIによる補助機能、一歩踏み込めば組織拡大にも応える管理機能、無駄なコストが出ないアクティブ課金。一人ひとりがナレッジを活用し自走する組織へ導きます。 /p> /section> /dialog> /div> !--/@src/components/sponsor--> /li> /ul> /div> /div> h3 stylemargin-top: 1rem; display: block; font-family: Lexend, sans-serif; font-size: 1.5rem; font-weight: bold; text-align: center; background: linear-gradient(to bottom, #c4c4c4, #8c8c8c); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent>Individual/h3> div stylemargin-top: 1rem; margin-bottom: 1.25rem; display: flex; justify-content: center> ul styledisplay: flex; flex-wrap: wrap; justify-content: center; gap: 1rem> li> img stylewidth: 6rem; height: 6rem; border-radius: 50%; overflow: hidden; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); background-color: white srchttps://2025-bucket.flutterkaigi.jp/individuals/dbc18436-e245-7c5f-8a11-7510a6567d01.webp/> /li> li> img stylewidth: 6rem; height: 6rem; border-radius: 50%; overflow: hidden; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); background-color: white srchttps://2025-bucket.flutterkaigi.jp/individuals/194bd63d-4ab1-422b-a2aa-4a52f08b3071.webp/> /li> li> img stylewidth: 6rem; height: 6rem; border-radius: 50%; overflow: hidden; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); background-color: white srchttps://2025-bucket.flutterkaigi.jp/individuals/d22c9f1c-0703-40d5-b37b-f20e0507e876.webp/> /li> li> img stylewidth: 6rem; height: 6rem; border-radius: 50%; overflow: hidden; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); background-color: white srchttps://2025-bucket.flutterkaigi.jp/individuals/edb7b482-0fc6-4dd5-9b2a-d033b26fd16e.webp/> /li> li> img stylewidth: 6rem; height: 6rem; border-radius: 50%; overflow: hidden; box-shadow: 2px 2px 4px rgba(168, 168, 168, 0.25); background-color: white srchttps://2025-bucket.flutterkaigi.jp/individuals/210c3261-d725-4f15-8d04-dbbcfdb5b06f.webp/> /li> /ul> /div> /ul> /section> section idstaff stylemargin-top: 2rem; display: flex; width: 100%; max-width: 1000px; flex-direction: column; justify-content: start> h2 stylemargin-bottom: 1.5rem; font-family: Lexend; font-size: 2rem; font-weight: 900>Staff/h2> div styledisplay: flex; flex-direction: column; align-items: center; gap: 1rem> div stylepadding: 2rem; display: flex; width: 100%; max-width: 1200px; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 2rem> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: asuka srchttps://2025-bucket.flutterkaigi.jp/staff-members/007200fc-8cdf-ec09-6184-3ec9c16014c5.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>asuka/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/a_skua target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>I □ Flutter/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: CardsEditor srchttps://2025-bucket.flutterkaigi.jp/staff-members/6696bd31-1184-cccf-694c-35a73dbe99c8.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>CardsEditor/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/cardseditor target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: ENDO Takumi srchttps://2025-bucket.flutterkaigi.jp/staff-members/ca3e78a7-8afd-4e92-bb90-77b0878c3348.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>ENDO Takumi/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/endotakumi_dev target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@endo.takumi.info target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/endo_takumi target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://endotakumi.github.io/ target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Itsuking srchttps://2025-bucket.flutterkaigi.jp/staff-members/e56ec3d2-17ac-7603-d08a-f12601dcc5aa.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Itsuking/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/IamItsuking target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>Flutterエンジニア目指して転職活動中デス!よろしくお願いします!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: jiyuujin srchttps://2025-bucket.flutterkaigi.jp/staff-members/dbc18436-e245-7c5f-8a11-7510a6567d01.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>jiyuujin/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/jiyuujinlab target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@jiyuujin target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/uraneko target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://yuma-kitamura.nekohack.me/ target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: K9i srchttps://2025-bucket.flutterkaigi.jp/staff-members/83b2b2c4-4c28-012f-ceff-c5228859bbd5.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>K9i/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/K9i_apps target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@K9i target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>🐙/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: katsuumy srchttps://2025-bucket.flutterkaigi.jp/staff-members/070f9970-08dd-27d4-d80e-14c2c3236436.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>katsuumy/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/katsuumy target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Keito srchttps://2025-bucket.flutterkaigi.jp/staff-members/0882d1e8-33de-4eb0-9812-0d2274759ac4.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Keito/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/techkeito target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@techkeito target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>個人開発が好きです!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: kuno srchttps://2025-bucket.flutterkaigi.jp/staff-members/752792bf-203f-4070-6292-0d468bfd2997.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>kuno/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Kunodayo_oboete target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>盛り上げていきマッショイ!!!!!!!!!!!!!!!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Kurogoma4D srchttps://2025-bucket.flutterkaigi.jp/staff-members/6badf028-a66c-ae43-338b-b162124e6f50.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Kurogoma4D/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/Krgm4D target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://krgm4d.dev target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>アプリつくります/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: masa-futa srchttps://2025-bucket.flutterkaigi.jp/staff-members/1a0b5098-0e01-ba22-3a92-a0792b8fb260.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>masa-futa/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/ma12441469 target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@masakunn1215 target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>wai wai ٩( ω )و/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Masahiro Aoki srchttps://2025-bucket.flutterkaigi.jp/staff-members/3062F094-5885-4977-A992-F0EE7F03E324.jpg/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Masahiro Aoki/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/ma_freud target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>やっぱりFlutterだなぁ。/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: minn srchttps://2025-bucket.flutterkaigi.jp/staff-members/cf3a6106-9815-6e08-5f32-7a1fba74c05c.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>minn/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/minn_flutter target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: m.kosuke srchttps://2025-bucket.flutterkaigi.jp/staff-members/a6b121ee-ff62-b436-d7d4-dd799fd67692.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>m.kosuke/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/kosuke_mtm target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/shcahill target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>フロサポ🐬/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: offich srchttps://2025-bucket.flutterkaigi.jp/staff-members/8a8d902b-4e5d-41fe-e745-c43e9ef9e408.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>offich/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/offichy target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://offich.me target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>よろしくお願いいたします!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: okaryo srchttps://2025-bucket.flutterkaigi.jp/staff-members/e86770b3-189b-47fb-55b5-7fc4aeb560d8.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>okaryo/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/okaryoX target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@okaryo target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>💪☺️👍/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Oshiro H. srchttps://2025-bucket.flutterkaigi.jp/staff-members/0254e48d-cf57-47ab-9657-0856a5761926.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Oshiro H./p> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>Flutter頑張ります!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: robo (Rie Kanetaka) srchttps://2025-bucket.flutterkaigi.jp/staff-members/68ec1064-9df3-4a1e-b223-87211229d026.png/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>robo (Rie Kanetaka)/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/cch_robo target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>モバイル端末好きのエンジニア/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Seiji srchttps://2025-bucket.flutterkaigi.jp/staff-members/80363ab9-42a3-859c-fd3c-a51eca85d32a.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Seiji/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/se_eiji target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://www.sijis.me/ target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>わいわい楽しみましょー!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: shanonim srchttps://2025-bucket.flutterkaigi.jp/staff-members/586bbd2b-b949-4ac4-b6bf-8638018d6d0e.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>shanonim/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/shanonim target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Shohei Ogawa srchttps://2025-bucket.flutterkaigi.jp/staff-members/9a436d27-2d84-7d40-70cf-9bd4dcd557ef.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Shohei Ogawa/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/heyhey1028 target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>ヒトと技術とお酒が好き/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Sohichiro/そーちゃん srchttps://2025-bucket.flutterkaigi.jp/staff-members/261f9261-b64e-f717-431d-82f8cce5ca4c.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Sohichiro/そーちゃん/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/sohichiro target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@sohichiro target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/sohichiro target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>今年もやっていき!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: sw srchttps://2025-bucket.flutterkaigi.jp/staff-members/8570633d-7a57-fc3d-5d17-a573aa241bf1.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>sw/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/s4y_wt target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: Tommy (Thomas Aquinas) srchttps://2025-bucket.flutterkaigi.jp/staff-members/1e58401f-d515-1ba9-c077-a0f74a3f664f.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>Tommy (Thomas Aquinas)/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/ThomasS2558 target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: yasuda makoto srchttps://2025-bucket.flutterkaigi.jp/staff-members/aeef0ebd-47e0-41da-9a20-17e5a5609d16.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>yasuda makoto/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/1234567890kuro target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: いせりゅー srchttps://2025-bucket.flutterkaigi.jp/staff-members/d5dcb0ae-2138-486d-801d-706e36a45ffb.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>いせりゅー/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/isekiryu target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@iseryuuuuu3 target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/iseryu target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>個人開発で「FoodGram」のアプリを作っています!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: うめちゃん srchttps://2025-bucket.flutterkaigi.jp/staff-members/a344dd22-91fe-c805-4951-c61133368364.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>うめちゃん/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/umechanhika target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@umechanhika target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/umechanhika target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://umechanhika.notion.site/903ff47c623343c695ba9d4f5292e9b5 target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>参加者の皆さんが楽しめる会になるように頑張ります!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: おかやまん srchttps://2025-bucket.flutterkaigi.jp/staff-members/edaa85c5-d9dd-9dad-9516-849059f2d9a4.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>おかやまん/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/blendthink target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@blendthink target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/blendthink target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>開発楽しむ!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: おはぎ(あきばこ) srchttps://2025-bucket.flutterkaigi.jp/staff-members/23ca6839-077e-6951-a7f3-116efc39442c.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>おはぎ(あきばこ)/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/a_key_bako target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: たっつー srchttps://2025-bucket.flutterkaigi.jp/staff-members/a2c93661-5a16-2213-89c8-e55ff7056e36.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>たっつー/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/tatsutakein target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@tatsutakein target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://note.com/tatsutakein target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altnote src/img/icon/note.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://tatsutakein.jp/ target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>アプリチーム頑張ります 💪/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: ちっぴー srchttps://2025-bucket.flutterkaigi.jp/staff-members/faac06be-6646-90fe-d3c2-db95783ffa8a.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>ちっぴー/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/chippy_ao target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@chippy-ao target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>アプリの人として頑張ります。/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: トマト srchttps://2025-bucket.flutterkaigi.jp/staff-members/81485592-4ddf-4e95-8604-700749d50e81.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>トマト/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/1234568aasobso1 target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>医療系アプリのエンジニアやってます!よろしくお願いします!!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: のり srchttps://2025-bucket.flutterkaigi.jp/staff-members/1ea6d5c4-29bd-393b-85fa-f977273eb0d4.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>のり/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/no_main_ target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>よろしくお願いします🏃/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: もぐもぐ srchttps://2025-bucket.flutterkaigi.jp/staff-members/2fd456f6-20e9-0733-883d-6b25b82f75c5.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>もぐもぐ/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/YumNumm target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/@YumNumm target_blank> img stylewidth: 1.5em; height: 1.5em; cursor: pointer altMedium src/img/icon_sns_medium.svg/> /a> /li> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://yumnumm.dev target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altWebsite src/img/icon/link.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>2025年もよろしくお願いします!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: ゆう srchttps://2025-bucket.flutterkaigi.jp/staff-members/e0fbf05e-371e-ad98-c50f-8b26c0752690.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>ゆう/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/yu_s1127 target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>よろしくお願いいたします!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: よう srchttps://2025-bucket.flutterkaigi.jp/staff-members/a061da27-0670-a4aa-03c5-5217961d62dc.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>よう/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/yoyoh_ target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>盛り上げたい!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: 白崎 紀充 srchttps://2025-bucket.flutterkaigi.jp/staff-members/bdfd4ab5-5411-6740-b046-78fdcdde9e7b.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>白崎 紀充/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/magnet_0113_eng target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: 菊池紘 srchttps://2025-bucket.flutterkaigi.jp/staff-members/45a33db6-15ef-ce51-2f84-60a7a0fb0286.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>菊池紘/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/kikuchy target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>楽しいFlutterKaigiにしよう!/p> /div> div stylepadding: 1rem; display: flex; width: 100px; flex-direction: column; align-items: center> img stylemargin-bottom: 1rem; width: 72px; height: 72px; border-radius: 50px; overflow: hidden; background-color: rgba(200, 200, 200, 0.3); justify-content: center; align-items: center; object-fit: cover altStaff photo: 馬渡慎之助 srchttps://2025-bucket.flutterkaigi.jp/staff-members/485a62c6-11bf-43c1-92e6-c0e121729ddd.webp/> p stylemargin-bottom: 0.5rem; font-size: 1rem; font-weight: 400; text-align: center; line-height: 2rem>馬渡慎之助/p> ul stylepadding: 0; margin: 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5em; list-style-type: none> li> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/hensyunoouma target_blank>img stylewidth: 1.5em; height: 1.5em; cursor: pointer altX src/img/icon_sns_x.svg/>/a> /li> /ul> p stylefont-size: 0.8rem; line-height: 1.4rem; line-break: anywhere>ウオー🔥/p> /div> /div> /div> /section> div classbubble stylemargin-top: 4rem; color: var(--secondary-color); font-family: Lexend, sans-serif; font-size: 2rem>Thank you!/div> img styleheight: 6rem altFlutterKaigi Dash src/img/flutterkaigi_dash.png/> /main> footer stylepadding: 1rem; display: flex; border-top-style: solid; border-top-color: var(--border-color); border-top-width: 1px; flex-direction: column; align-items: center; gap: 1rem> nav styledisplay: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 1em> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://2024.flutterkaigi.jp/ target_blank>2024/a> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://2023.flutterkaigi.jp/ target_blank>2023/a> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://2022.flutterkaigi.jp/ target_blank>2022/a> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://2021.flutterkaigi.jp/ target_blank>2021/a> /nav> nav styledisplay: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 1em> div styledisplay: flex; flex-direction: row; justify-content: center; align-items: center; gap: 0.1em> img styleheight: 1.5em; vertical-align: middle altX logo src/img/icon_sns_x.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://x.com/FlutterKaigi target_blank>X/a> /div> div styledisplay: flex; flex-direction: row; justify-content: center; align-items: center; gap: 0.1em> img styleheight: 1.5em; vertical-align: middle altGitHub logo src/img/icon_sns_github.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://github.com/FlutterKaigi target_blank>GitHub/a> /div> div styledisplay: flex; flex-direction: row; justify-content: center; align-items: center; gap: 0.1em> img styleheight: 1.5em; vertical-align: middle altDiscord logo src/img/icon_sns_discord.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://discord.com/invite/Nr7H8JTJSF target_blank>Discord/a> /div> div styledisplay: flex; flex-direction: row; justify-content: center; align-items: center; gap: 0.1em> img styleheight: 1.5em; vertical-align: middle altMedium logo src/img/icon_sns_medium.svg/> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://medium.com/flutterkaigi target_blank>Medium/a> /div> /nav> nav styledisplay: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 1em> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://docs.flutterkaigi.jp/Code-of-Conduct.ja target_blank>行動規範/a> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://docs.flutterkaigi.jp/Privacy-Policy.ja target_blank>プライバシーポリシー/a> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://docs.flutterkaigi.jp/Exclusion-of-Anti-Social-Forces.ja target_blank>反社会的勢力の排除に関して/a> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://docs.google.com/forms/d/e/1FAIpQLSemYPFEWpP8594MWI4k3Nz45RJzMS7pz1ufwtnX4t3V7z2TOw/viewform target_blank>相談窓口/a> a stylecursor: pointer; color: var(--link-color); text-decoration: underline hrefhttps://github.com/FlutterKaigi/2025 target_blank>リポジトリー/a> /nav> div styledisplay: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.5em> p>© 2021 - 2025 FlutterKaigi 実行委員会/p> p stylefont-size: 0.8em> Flutter and the related logo are trademarks of Google LLC. FlutterKaigi is not affiliated with or otherwise sponsored by Google LLC. /p> p stylefont-size: 0.8em> The Flutter name and the Flutter logo img styleheight: 0.8em; vertical-align: middle altFlutter logo src/img/icon_flutter.svg/> are trademarks of Google LLC. /p> /div> /footer> /div> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]