شروع فلاتر از صفر: نصب، اولین اپ و ساختار پروژه
اگر میخواهید فلاتر را شروع کنید، این راهنما قدمبهقدم شما را از نصب SDK تا اجرای اولین اپ و فهمیدن ساختار پروژه میبرد؛ همراه با نکاتی که در شروع کار وقتتان را نجات میدهد.
یک اپ فلاتر خوب باید روی گوشی کوچک، تبلت و پنجرهی دسکتاپ هر کدام زیبا باشد. با LayoutBuilder، breakpointها، ناوبری تطبیقی و پشتیبانی درست از راستبهچپ این کار را عملی میکنیم.

یک اپ فلاتر ممکن است روی گوشی ۵ اینچی، تبلت، پنجرهی ویندوز یا مرورگر باز شود. اگر چیدمان را ثابت بنویسید، یکی از اینها حتماً خراب میشود. خوشبختانه فلاتر ابزار خوبی برای رابط واکنشگرا دارد.
برای اندازهی کل پنجره:
final width = MediaQuery.sizeOf(context).width;ولی گاهی چیدمان باید به فضای والد واکنش نشان دهد، نه کل صفحه؛ آنجا LayoutBuilder بهتر است:
LayoutBuilder(
builder: (context, constraints) {
final isWide = constraints.maxWidth >= 840;
return isWide ? const WideLayout() : const NarrowLayout();
},
)راهنمای Material این اعداد را پیشنهاد میکند و برای شروع خوباند:
روی موبایل NavigationBar پایین صفحه و روی صفحهی عریض NavigationRail کنار صفحه تجربهی بهتری میدهد:
Widget build(BuildContext context) {
final wide = MediaQuery.sizeOf(context).width >= 600;
return Scaffold(
body: Row(
children: [
if (wide) NavigationRail(
selectedIndex: index,
onDestinationSelected: onSelect,
destinations: railItems,
),
Expanded(child: pages[index]),
],
),
bottomNavigationBar: wide ? null : NavigationBar(
selectedIndex: index,
onDestinationSelected: onSelect,
destinations: barItems,
),
);
}GridView.builder(
gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 280,
mainAxisSpacing: 12,
crossAxisSpacing: 12,
),
itemBuilder: (context, i) => ProductCard(items[i]),
)تعداد ستونها خودش با عرض صفحه تنظیم میشود.
یک فرم که روی مانیتور ۲۷ اینچی تمام عرض را بگیرد زشت و ناخوانا است. آن را در ConstrainedBox(constraints: BoxConstraints(maxWidth: 900)) و Center بگذارید.
Expanded، Flexible و محتوای خودکار استفاده کنید.EdgeInsets.only(left: ...) از EdgeInsetsDirectional.only(start: ...) استفاده کنید.Alignment.centerLeft از AlignmentDirectional.centerStart استفاده کنید.Directionality بسنجید.با همین چند اصل، یک کدبیس واحد روی موبایل، وب و دسکتاپ حرفهای دیده میشود.
دورهی VIP فست فلاتر از صفر تا انتشار اپلیکیشن، با پشتیبانی مستقیم مدرس.