forked from dart-lang/site-www
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
433 lines (420 loc) · 23 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
---
layout: homepage
title: Dart programming language
description: >-
Dart is an approachable, portable, and productive language for
high-quality apps on any platform.
js:
- url: /assets/dash/js/dartpad_picker_main.dart.js
defer: true
---
<!-- Hero animation -->
<div class="d-none d-sm-none d-md-block">
<section class="dash-header">
<video autoplay loop muted playsinline>
<source src="assets/dash/video/hotreload.webm"
type='video/webm;codecs="vp8, vorbis"' />
<source src="assets/dash/video/hotreload.mp4"
type='video/mp4;codecs="avc1.42E01E, mp4a.40.2"' />
<img src=assets/dash/2x/paint-your-ui.png alt="Paint your UI" />
</video>
</section>
</div>
<section class="dash-header d-sm-block d-md-none">
<img src="assets/dash/2x/paint-your-ui.png" alt="Paint your UI to life"/>
</section>
<!-- Dart tag-line -->
<section class="dash-header-callout">
<div class="callout-title">
An approachable, portable, and productive language for high-quality apps on any platform
</div>
<div class="callout-button">
<button class="btn btn-link btn-icon" type="button" data-toggle="modal" data-target="#videoModal" data-video="5F-6n_2XWR8">
<i class="material-icons">play_circle_filled</i> Watch video
</button>
</div>
<img class="made-by" src="assets/dash/2x/supported by [email protected]" alt="Supported by Google"/>
<div class="callout-oss">
<p>Dart is free and open source
<a href="https://github.com/dart-lang/" title="Dart project GitHub organization"
class="no-automatic-external">
<svg><use href="/assets/img/social/github.svg#github"></use></svg>
</a>
</p>
</div>
</section>
<!-- Dart pillars -->
<section class="dash-dart-features">
<div class="container">
<div class="row">
<div class="col-md-4 col-sm-12">
<div class="feature">
<div class="feature-icon"><img src="assets/dash/2x/multiplatform performance light [email protected]" alt="Multiplatform performance"/></div>
<div class="feature-title">Approachable<br></div>
<div class="feature-desc">Develop with a consistent, concise, and strongly typed
programming language that offers modern features like null safety and pattern matching.
</div>
</div>
</div>
<div class="col-md-4 col-sm-12">
<div class="feature">
<div class="feature-icon"><img src="assets/dash/2x/client optimised light [email protected]" alt="Client optimised"/></div>
<div class="feature-title">Productive</br>development</div>
<div class="feature-desc">Make changes iteratively: use hot
reload to see the result instantly in your running app.
</div>
</div>
</div>
<div class="col-md-4 col-sm-12">
<div class="feature">
<div class="feature-icon"><img src="assets/dash/2x/productive dev light [email protected]" alt="Productive development"/></div>
<div class="feature-title">Portable and fast<br/>on all platforms</div>
<div class="feature-desc">Compile to ARM, x64, and RISC-V machine
code for mobile, desktop, and backend. Or, compile to JavaScript & WebAssembly
for the web.</div>
</div>
</div>
</div>
</div>
</section>
<!-- Dart pillar details, narrow design -->
<div class="dart-dash-details container-fluid d-sm-block d-md-none" tabindex="-1">
<section class="row dash-row">
<div class="col-lg-7 col-md-6 col-sm-12 content-image">
<img class="gallerySix" src="assets/dash/svg/1-1 async await.svg" alt="Async await functions"/>
</div>
<div class="col-lg-5 col-md-6 col-sm-12 content-info">
<div class="content-container">
<div class="content-icon">
<img src="assets/dash/2x/multiplatform performance light [email protected]" alt="Multiplatform performance"/>
</div>
<div class="content-feature">Approachable</div>
<div class="content-desc" id="gallerySix">
<ul class="selector">
<li class="highlight" data-banner="assets/dash/svg/1-1 async await.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Mature and complete <a href="/codelabs/async-await">async-await</a>
for user interfaces containing event-driven code, paired with
<a href="/language/concurrency">isolate-based concurrency</a>
</div>
</div>
</li>
<li data-banner="assets/dash/svg/1-2 language optimized.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Write safe and concise code using features like <a href="/null-safety">sound null safety</a>,
<a href="/language/collections#control-flow-operators">collection if</a>,
and <a href="/language/patterns">pattern matching</a>.
</div>
</div>
</li>
<li data-banner="assets/dash/svg/1-3 familiar syntax.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
A consistent programming language, with an easy to learn and
<a href="/language">familiar syntax</a>.
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="clearfix"></div>
</div>
</section>
<section class="row dash-row">
<div class="col-lg-7 col-md-6 col-sm-12 content-image">
<img class="galleryFive" src="assets/dash/svg/2-1 hot reload iterative changes.svg" alt="Hot reload changes"/>
</div>
<div class="col-lg-5 col-md-6 col-sm-12 content-info">
<div class="content-container">
<div class="content-icon">
<img src="assets/dash/2x/productive dev light [email protected]" alt="Productive development"/>
</div>
<div class="content-feature">Productive Development</div>
<div class="content-desc" id="galleryFive">
<ul class="selector">
<li class="highlight" data-banner="assets/dash/svg/2-1 hot reload iterative changes.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Make changes to your source code iteratively, using
<a href="https://flutter.dev/docs/development/tools/hot-reload" class="no-automatic-external">hot
reload</a>
to instantly see the effect in the running app.
</div>
</div>
</li>
<li data-banner="assets/dash/svg/2-2 flexible type.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Write code using a flexible type system with rich
static analysis and powerful, <a href="/tools/analysis">configurable tooling</a>.
</div>
</div>
</li>
<li data-banner="assets/dash/svg/2-3 runtime insight.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Do <a href="https://flutter.dev/docs/development/tools/devtools/performance" class="no-automatic-external">profiling</a>,
<a href="https://flutter.dev/docs/development/tools/devtools/logging" class="no-automatic-external">logging</a>,
and <a href="https://flutter.dev/docs/development/tools/devtools/debugger"
class="no-automatic-external">debugging</a>
with your code editor of choice.
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="clearfix"></div>
</div>
</section>
<section class="row dash-row">
<div class="col-lg-7 col-md-6 col-sm-12 content-image">
<img class="galleryFour dash-align-left" src="assets/dash/svg/3-1 - aot compile.svg" alt="Compiling dart file"/>
</div>
<div class="col-lg-5 col-md-6 col-sm-12 content-info">
<div class="content-container">
<div class="content-icon">
<img src="assets/dash/2x/client optimised light [email protected]" alt="Client optimized"/>
</div>
<div class="content-feature">Fast on all platforms</div>
<div class="content-desc" id="galleryFour">
<ul class="selector">
<li class="highlight" data-banner="assets/dash/svg/3-1 - aot compile.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
<a href="/overview#native-platform">AOT-compile</a> apps to native
machine code for <a href="https://github.com/timsneath/time">instant startup</a>.
</div>
</div>
</li>
<li data-banner="assets/dash/svg/3-2 target web.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Target the web with complete, mature, fast
<a href="/overview#web-platform">compilers for JavaScript & WebAssembly</a>.
</div>
</div>
</li>
<li data-banner="assets/dash/svg/3-3 backend code.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Run <a href="/tutorials/server/httpserver">backend code</a>
supporting your app, written using a single programming language.
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</section>
</div>
<!-- Dart pillar details, wide design -->
<div class="dart-dash-details container-fluid d-none d-sm-none d-md-block">
<section class="row dash-row">
<div class="col-lg-5 col-md-6 col-sm-12 content-info">
<div class="content-container dash-align-right">
<div class="content-icon"><img src="assets/dash/2x/multiplatform performance light [email protected]" alt="Multiplatform performance"/> </div>
<div class="content-feature">Approachable</div>
<div class="content-desc" id="galleryOne">
<ul class="selector">
<li class="highlight" tabindex="0" data-banner="assets/dash/svg/1-1 async await.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Mature and complete <a href="/codelabs/async-await">async-await</a>
for user interfaces containing event-driven code, paired with
<a href="/language/concurrency">isolate-based concurrency</a>.
</div>
</div>
</li>
<li tabindex="0" data-banner="assets/dash/svg/1-2 language optimized.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Write safe and concise code using features like <a href="/null-safety">sound null safety</a>,
<a href="/language/collections#control-flow-operators">collection if</a>,
and <a href="/language/patterns">pattern matching</a>.
</div>
</div>
</li>
<li tabindex="0" data-banner="assets/dash/svg/1-3 familiar syntax.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
A consistent programming language, with an easy to learn and
<a href="/language">familiar syntax</a>.
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="col-lg-7 col-md-6 col-sm-12 content-image">
<img class="galleryOne dash-align-left" src="assets/dash/svg/1-1 async await.svg" alt="Async await functions "/>
</div>
</section>
<section class="row dash-row">
<div class="col-lg-7 col-md-6 col-sm-12 content-image">
<img class="galleryTwo dash-align-right" src="assets/dash/svg/2-1 hot reload iterative changes.svg" alt="Hot reload your changes"/>
</div>
<div class="col-lg-5 col-md-6 col-sm-12 content-info">
<div class="content-container dash-align-left">
<div class="content-icon"><img src="assets/dash/2x/productive dev light [email protected]" alt="Productive development"/></div>
<div class="content-feature">Productive development</div>
<div class="content-desc" id="galleryTwo">
<ul class="selector">
<li class="highlight" tabindex="0" data-banner="assets/dash/svg/2-1 hot reload iterative changes.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Make changes to your source code iteratively, using
<a href="https://flutter.dev/docs/development/tools/hot-reload" class="no-automatic-external">hot
reload</a>
to instantly see the effect in the running app.
</div>
</div>
</li>
<li tabindex="0" data-banner="assets/dash/svg/2-2 flexible type.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Write code using a flexible type system with rich
static analysis and powerful, <a href="/tools/analysis">configurable tooling</a>.
</div>
</div>
</li>
<li tabindex="0" data-banner="assets/dash/svg/2-3 runtime insight.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Do <a href="https://flutter.dev/docs/development/tools/devtools/performance" class="no-automatic-external">profiling</a>,
<a href="https://flutter.dev/docs/development/tools/devtools/logging" class="no-automatic-external">logging</a>,
and <a href="https://flutter.dev/docs/development/tools/devtools/debugger"
class="no-automatic-external">debugging</a>
with your code editor of choice.
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</section>
<section class="row dash-row">
<div class="col-lg-5 col-md-6 col-sm-12 content-info">
<div class="content-container dash-align-right">
<div class="content-icon"><img src="assets/dash/2x/multiplatform performance light [email protected]" alt="Multiplatform performance"/></div>
<div class="content-feature">Fast on all platforms</div>
<div class="content-desc" id="galleryThree">
<ul class="selector">
<li class="highlight" tabindex="0" data-banner="assets/dash/svg/3-1 - aot compile.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
<a href="/overview#native-platform">AOT-compile</a> apps to native
machine code for <a href="https://github.com/timsneath/time">instant startup</a>.
</div>
</div>
</li>
<li tabindex="0" data-banner="assets/dash/svg/3-2 target web.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Target the web with complete, mature, fast
<a href="/overview#web-platform">compilers for JavaScript and WebAssembly</a>.
</div>
</div>
</li>
<li tabindex="0" data-banner="assets/dash/svg/3-3 backend code.svg">
<div>
<div class="bullet-container">
<div class="animated-bullet"></div>
</div>
<div class="bullet-text">
Run <a href="/tutorials/server/httpserver">backend code</a>
supporting your app, written using a single programming language.
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="col-lg-7 col-md-6 col-sm-12 content-image">
<img class="galleryThree dash-align-left" src="assets/dash/svg/3-1 - aot compile.svg" alt="Compiling dart file"/>
</div>
</section>
<section class="row dash-dartpad-row">
<div class="dash-dartpad">
<a id="try-dart" class="frontanchor"></a>
<h2>Try Dart in your browser</h2>
<label for="dartpad-select" class="sr-only">Select an example:</label>
<select id="dartpad-select"></select>
<div id="dartpad-host"></div>
<h3>Want more practice? <a href="/language">Learn the language</a>,
explore the <a href="/libraries">core libraries</a>,
or <a href="/tutorials/server/get-started">build a command-line app</a>.</h3>
</div>
</section>
</div>
<!-- Modal -->
<div class="modal fade" data-video-modal id="videoModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
<div class="modal-content">
<div class="modal-body">
<div class="embedded-video-wrapper">
<div id="video-player"></div>
<!-- <iframe id="video-player-iframe" class="embedded-video-wrapper__frame" width="auto" height="auto" src="https://youtube.com/embed/5F-6n_2XWR8?cc_lang_pref=en&cc_load_policy=1&enablejsapi=1" loading="lazy" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>-->
</div>
</div>
</div>
</div>
</div>