{"id":25778,"date":"2026-06-24T03:35:23","date_gmt":"2026-06-24T03:35:23","guid":{"rendered":"https:\/\/umang.pk\/2026\/06\/24\/%d9%82%d8%a7%d8%a8%d9%84-%d8%aa%d9%88%d8%b3%db%8c%d8%b9-%d8%a7%d9%88%d8%b1-%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1-%d8%b1%da%a9%da%be%d9%86%db%92-%da%a9%db%92-%d9%82%d8%a7%d8%a8%d9%84-%d8%aa%d8%b1%d9%82\/"},"modified":"2026-06-24T03:35:23","modified_gmt":"2026-06-24T03:35:23","slug":"%d9%82%d8%a7%d8%a8%d9%84-%d8%aa%d9%88%d8%b3%db%8c%d8%b9-%d8%a7%d9%88%d8%b1-%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1-%d8%b1%da%a9%da%be%d9%86%db%92-%da%a9%db%92-%d9%82%d8%a7%d8%a8%d9%84-%d8%aa%d8%b1%d9%82","status":"publish","type":"post","link":"https:\/\/umang.pk\/en_us\/2026\/06\/24\/%d9%82%d8%a7%d8%a8%d9%84-%d8%aa%d9%88%d8%b3%db%8c%d8%b9-%d8%a7%d9%88%d8%b1-%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1-%d8%b1%da%a9%da%be%d9%86%db%92-%da%a9%db%92-%d9%82%d8%a7%d8%a8%d9%84-%d8%aa%d8%b1%d9%82\/","title":{"rendered":"\u0642\u0627\u0628\u0644 \u062a\u0648\u0633\u06cc\u0639 \u0627\u0648\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u062a\u0631\u0642\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0641\u0644\u0679\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u067e\u06be\u0691\u067e\u06be\u0691\u0627\u0646\u0627 \u0622\u067e \u06a9\u0648 \u0628\u06c1\u062a \u062a\u06cc\u0632\u06cc \u0633\u06d2 UI \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0631\u0641\u062a\u0627\u0631 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06a9\u06d2 \u0633\u0628 \u0633\u06d2 \u0628\u0691\u06d2 \u0641\u0648\u0627\u0626\u062f \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0679\u06be\u06cc\u06a9 \u0679\u06be\u06cc\u06a9 \u0645\u0633\u0627\u0626\u0644 \u0628\u06be\u06cc \u0627\u0679\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0627\u06a9\u062b\u0631 \u0627\u067e\u0646\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0686\u0646\u062f \u0627\u0633\u06a9\u0631\u06cc\u0646\u06cc\u06ba \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u062f\u0631\u062c\u0646\u0648\u06ba \u0628\u0646 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0648\u06c1 \u0627\u0641\u0639\u0627\u0644 \u062c\u0648 \u0627\u0628\u062a\u062f\u0627 \u0645\u06cc\u06ba \u0627\u0644\u06af \u062a\u06be\u0644\u06af \u0645\u062d\u0633\u0648\u0633 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0639\u0627\u0645\u0644 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062a\u0635\u062f\u06cc\u0642 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u06a9\u0648 \u0645\u062a\u0627\u062b\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627 \u0627\u062b\u0631 \u0622\u0646 \u0628\u0648\u0631\u0688\u0646\u06af \u067e\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u0645\u0627\u06cc\u0627\u06ba \u062c\u06be\u0646\u0688\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06d2 \u0628\u06c1\u0627\u0624 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u0642\u0627\u0645\u06cc \u0627\u0633\u062a\u0642\u0627\u0645\u062a \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631\u06cc \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u062a\u06cc \u06c1\u06d2\u06d4 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u062d\u0635\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0631\u06cc\u0627\u0633\u062a \u0644\u06cc\u06a9 \u06c1\u0648\u0646\u0627 \u0634\u0631\u0648\u0639 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0627\u0686\u0627\u0646\u06a9 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627\u06d4<\/p>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0641\u0644\u0679\u0631 \u06a9\u0648\u0688 \u0628\u06cc\u0633\u0632 \u06a9\u0648 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u0645\u06cc\u06ba \u062a\u0631\u0642\u06cc \u06a9\u06cc \u06a9\u0645\u06cc \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u0686\u06be\u0648\u0679\u06d2 \u0634\u0627\u0631\u0679 \u06a9\u0679 \u062c\u0648 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0628\u06d2 \u0636\u0631\u0631 \u0645\u062d\u0633\u0648\u0633 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0645\u0639 \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u0635\u0641 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0679\u06cc\u0645\u06cc\u06ba \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0648 \u0631\u062f \u0639\u0645\u0644 \u0633\u06d2 \u0627\u067e\u0646\u0627\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0628\u062f\u0642\u0633\u0645\u062a\u06cc \u0633\u06d2\u060c \u0628\u06c1\u062a \u0633\u06cc \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u062a\u062c\u0631\u06cc\u062f \u06a9\u06cc \u062a\u06c1\u0648\u06ba \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06a9\u06d2 \u0627\u0633\u06a9\u06cc\u0644\u0646\u06af \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u06cc\u06c1 \u0633\u0645\u062c\u06be\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u06c1 \u0627\u0635\u0644 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06a9\u06c1\u0627\u06ba \u0633\u06d2 \u0622\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0691\u06cc \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0646 \u0645\u06cc\u06ba \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06cc \u06a9\u0645\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u0644\u06a9\u06cc\u062a \u06a9\u06cc \u062d\u062f\u0648\u062f \u063a\u06cc\u0631 \u0648\u0627\u0636\u062d \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0645\u0636\u0645\u0648\u0646 \u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0641\u0644\u0679\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u06cc \u062a\u0634\u06a9\u06cc\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0639\u0645\u0644\u06cc \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u06a9\u0648\u0688 \u0628\u06cc\u0633 \u06a9\u06d2 \u062a\u06cc\u0627\u0631 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u06cc \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0638\u0627\u06c1\u0631 \u0627\u0648\u0631 \u0642\u0627\u0628\u0644 \u0627\u0646\u062a\u0638\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2\u06d4 \u06cc\u06c1\u0627\u06ba \u062a\u0648\u062c\u06c1 \u0646\u0638\u0631\u06cc\u0627\u062a\u06cc \u067e\u0627\u06a9\u06cc\u0632\u06af\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u062d\u0642\u06cc\u0642\u06cc \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u06a9\u06cc \u0631\u06a9\u0627\u0648\u0679\u0648\u06ba \u06a9\u06d2 \u062a\u062d\u062a \u0637\u0648\u06cc\u0644 \u0645\u062f\u062a\u06cc \u062f\u06cc\u06a9\u06be \u0628\u06be\u0627\u0644 \u0645\u0645\u06a9\u0646 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0627\u0626\u0637<\/h2>\n<p>\u06cc\u06c1 \u06af\u0627\u0626\u06cc\u0688 \u0641\u0631\u0636 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0641\u0644\u0679\u0631 \u0648\u06cc\u062c\u06cc\u0679\u0633 \u0627\u0648\u0631 \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u0633\u06d2 \u0648\u0627\u0642\u0641 \u06c1\u06cc\u06ba\u06d4 <code>Future<\/code> \u0627\u0648\u0631 <code>async\/await<\/code>\u0631\u06cc\u0627\u0633\u062a\u06cc \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u06d2 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0631\u06cc\u0642\u06d2 \u06c1\u06cc\u06ba \u062c\u06cc\u0633\u06d2 \u067e\u0631\u0648\u0648\u0627\u0626\u06cc\u0688\u0631\u060c \u0631\u06cc\u0648\u0631 \u067e\u0648\u0688 \u06cc\u0627 BLOC\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06c1\u06cc \u0633\u0627\u062f\u06c1 \u0688\u06cc\u0645\u0648 \u0633\u06d2 \u06c1\u0679 \u06a9\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0628\u0646\u0627\u0646\u06d2 \u0645\u06cc\u06ba \u0622\u0633\u0627\u0646\u06cc \u0645\u062d\u0633\u0648\u0633 \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0645\u0636\u0645\u0648\u0646 \u0641\u0644\u0679\u0631 \u06a9\u06d2 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u067e\u0631 \u06a9\u0645 \u0627\u0648\u0631 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u0641\u06cc\u0635\u0644\u0648\u06ba \u067e\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0648\u062c\u06c1 \u0645\u0631\u06a9\u0648\u0632 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc\u06a9 \u0637\u0648\u06cc\u0644 \u0645\u062f\u062a\u06cc \u0646\u0638\u0627\u0645 \u0628\u0646 \u062c\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0627\u0628\u06be\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-makes-flutter-apps-hard-to-scale\">\u06a9\u06cc\u0627 \u0686\u06cc\u0632 \u0641\u0644\u0679\u0631 \u0627\u06cc\u067e\u0633 \u06a9\u0648 \u067e\u06cc\u0645\u0627\u0646\u06c1 \u06a9\u0631\u0646\u0627 \u0645\u0634\u06a9\u0644 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/h2>\n<p>\u0628\u0691\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0627\u06a9\u06cc\u0644\u06d2 UI \u06a9\u06cc \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0633\u06d2 \u0686\u06cc\u0644\u0646\u062c \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u0633\u06a9\u06cc\u0644\u0646\u06af \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648\u0622\u0631\u0688\u06cc\u0646\u06cc\u0634\u0646 \u06a9\u06cc \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0644\u0627\u06af \u0627\u0646 \u0628\u06c1\u0627\u0624 \u0627\u0633 \u06a9\u06cc \u0627\u0686\u06be\u06cc \u0637\u0631\u062d \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0637\u0648\u0631 \u067e\u0631\u060c \u062a\u0635\u062f\u06cc\u0642 \u0645\u06cc\u06ba \u0635\u0631\u0641 \u0627\u0633\u0646\u0627\u062f \u0628\u06be\u06cc\u062c\u0646\u0627\u060c \u0679\u0648\u06a9\u0646 \u0648\u0635\u0648\u0644 \u06a9\u0631\u0646\u0627\u060c \u0627\u0648\u0631 \u06c1\u0648\u0645 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0679 \u06a9\u0631\u0646\u0627 \u0634\u0627\u0645\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u067e\u06cc\u062f\u0627\u0648\u0627\u0631\u06cc \u0646\u0638\u0627\u0645 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u062a\u06cc\u0627\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0631\u0679\u06cc\u0641\u06cc\u06a9\u06cc\u0634\u0646 \u0628\u0627\u0644\u0622\u062e\u0631 \u0630\u0645\u06c1 \u062f\u0627\u0631 \u06c1\u06d2:<\/p>\n<ul>\n<li>\n<p>\u0633\u06cc\u0634\u0646 \u06a9\u06cc \u0628\u062d\u0627\u0644\u06cc<\/p>\n<\/li>\n<li>\n<p>\u0645\u06cc\u0639\u0627\u062f \u062e\u062a\u0645 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0679\u0648\u06a9\u0646\u0632 \u06a9\u0648 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0635\u0627\u0631\u0641 \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0644\u0648\u0688 \u06c1\u0648 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u062a\u062c\u0632\u06cc\u06c1 \u06a9\u0627 \u0645\u062d\u0631\u06a9<\/p>\n<\/li>\n<li>\n<p>\u0622\u0646 \u0628\u0648\u0631\u0688\u0646\u06af \u0627\u0633\u0679\u06cc\u0679\u0633 \u06c1\u06cc\u0646\u0688\u0644\u0646\u06af<\/p>\n<\/li>\n<li>\n<p>\u0645\u0642\u0627\u0645\u06cc \u06a9\u06cc\u0634\u06d2 \u06a9\u06cc \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631\u06cc\u06d4<\/p>\n<\/li>\n<li>\n<p>\u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u06d2 \u062c\u06be\u0646\u0688\u06d2 \u0644\u06af\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06af\u06c1\u0631\u06cc \u0644\u0646\u06a9 \u0633\u067e\u0648\u0631\u0679<\/p>\n<\/li>\n<\/ul>\n<p>\u062c\u0628 \u06a9\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u06a9\u0648\u0622\u0631\u0688\u06cc\u0646\u06cc\u0634\u0646 \u0645\u0646\u0637\u0642 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0622\u067e\u0633 \u0645\u06cc\u06ba \u062c\u0691\u062a\u06cc \u062c\u0627 \u0631\u06c1\u06cc \u06c1\u06d2\u060c UI \u0627\u0628 \u0628\u06be\u06cc \u0633\u0627\u062f\u06c1 \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06d2 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u062d\u062f\u0648\u062f \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u06cc\u06c1 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06c1\u0631 \u062c\u06af\u06c1 \u067e\u06be\u06cc\u0644 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<ul>\n<li>\n<p>\u0648\u06cc\u062c\u06cc\u0679<\/p>\n<\/li>\n<li>\n<p>\u0630\u062e\u06cc\u0631\u06c1<\/p>\n<\/li>\n<li>\n<p>\u062c\u0691 \u06af\u0627\u0631\u0688<\/p>\n<\/li>\n<li>\n<p>\u0627\u0646\u0679\u0631\u0633\u06cc\u067e\u0679\u0631<\/p>\n<\/li>\n<li>\n<p>\u0639\u0627\u0644\u0645\u06cc \u062e\u062f\u0645\u062a<\/p>\n<\/li>\n<li>\n<p>\u0631\u06cc\u0627\u0633\u062a\u06cc \u06a9\u0646\u0679\u06cc\u0646\u0631<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0633 \u0645\u0642\u0627\u0645 \u067e\u0631\u060c \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0686\u06be\u0648\u0679\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u0628\u06be\u06cc \u062e\u0637\u0631\u0646\u0627\u06a9 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0646\u0638\u0627\u0645 \u0632\u0646\u062f\u06af\u06cc \u06a9\u06d2 \u0686\u06a9\u0631 \u06a9\u06d2 \u0645\u0641\u0631\u0648\u0636\u0648\u06ba \u06a9\u0648 \u0628\u0627\u0646\u0679\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0641\u0644\u0679\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u06cc \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u062d\u0642\u06cc\u0642\u062a\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646\u0648\u06ba \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062a\u0639\u0627\u0645\u0644\u0627\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-why-small-architectures-break-down\">\u0686\u06be\u0648\u0679\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a \u06a9\u06cc\u0648\u06ba \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/h2>\n<p>\u0628\u06c1\u062a \u0633\u06d2 \u0641\u0644\u0679\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06d2 \u0688\u06be\u0627\u0646\u0686\u06d2 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">lib\/\n  screens\/\n  widgets\/\n  services\/\n  providers\/\n  models\/\n<\/code><\/pre>\n<p>\u0686\u06be\u0648\u0679\u06cc \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06cc\u06c1 \u0628\u0627\u0644\u06a9\u0644 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u06cc\u0633\u06d2 \u062c\u06cc\u0633\u06d2 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0628\u0691\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062f\u0648\u0633\u0631\u06d2 \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06c1\u0648\u062a\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0645\u0633\u0627\u0626\u0644 \u0627\u0628\u06be\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 &quot;\u067e\u0633\u0646\u062f\u06cc\u062f\u06c1&#8221; \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u062a\u0635\u0648\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0632\u0646\u062f\u06c1 \u06c1\u06d2\u06d4 <code>screens\/<\/code>. \u0631\u06cc\u0627\u0633\u062a\u06cc \u0627\u06c1\u0644\u06a9\u0627\u0631 \u0648\u06c1\u0627\u06ba \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>providers\/<\/code>. \u0646\u06cc\u0679 \u0648\u0631\u06a9\u0646\u06af \u0645\u0646\u0637\u0642 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4 <code>services\/<\/code>. \u062c\u06c1\u0627\u06ba \u0645\u0627\u0688\u0644 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 <code>models\/<\/code>.<\/p>\n<p>\u0627\u06cc\u06a9 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0641\u0646\u06a9\u0634\u0646 \u0627\u0628 \u067e\u0648\u0631\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0688\u06be\u0627\u0646\u0686\u06d2 \u067e\u0631 \u0645\u062d\u06cc\u0637 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0644\u0637\u06cc\u0641 \u0644\u06cc\u06a9\u0646 \u0627\u06c1\u0645 \u0645\u0633\u0626\u0644\u06c1 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u06a9\u0627 \u0688\u06be\u0627\u0646\u0686\u06c1 \u0627\u0628 \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06a9\u06cc \u0633\u0627\u062e\u062a \u06a9\u06cc \u0639\u06a9\u0627\u0633\u06cc \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0688\u0648\u06cc\u0644\u067e\u0631 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0633\u0648\u0686\u0646\u0627 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u06a9\u06d2 \u0632\u0645\u0631\u06d2 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0633\u0648\u0686\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0648\u0642\u062a \u06af\u0632\u0631\u0646\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u0645\u0644\u06a9\u06cc\u062a \u0645\u0628\u06c1\u0645 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0646\u062d\u0635\u0627\u0631 \u0645\u0636\u0645\u0631 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0648 \u06cc\u06a9\u062c\u0627 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0688\u06cc\u0628\u06af\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u0641\u0648\u0644\u0688\u0631\u0632 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0645\u0633\u0644\u0633\u0644 \u062c\u0645\u067e\u0646\u06af \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631 \u0633\u0633\u0679\u0645 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0641\u0627\u0626\u0644 \u06a9\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0641\u0631\u0642 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u06c1\u0645 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u06cc\u06c1 \u067e\u06c1\u0644\u06d2 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0691\u06d2 \u0646\u0638\u0627\u0645 \u0645\u0644\u06a9\u06cc\u062a \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0632\u0646\u062f\u06c1 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u0645\u0644\u06a9\u06cc\u062a \u06a9\u06cc \u062d\u062f\u0648\u062f \u062f\u06be\u0646\u062f\u0644\u06cc \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u062a\u0648 \u062f\u06cc\u06a9\u06be \u0628\u06be\u0627\u0644 \u06a9\u06d2 \u0627\u062e\u0631\u0627\u062c\u0627\u062a \u0688\u0631\u0627\u0645\u0627\u0626\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0628\u0691\u06be \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-organizing-by-feature\">\u0641\u0646\u06a9\u0634\u0646 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0645\u0646\u0638\u0645<\/h2>\n<p>\u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u0641\u0631\u06cc\u06af\u0645\u0646\u0679\u06cc\u0634\u0646 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0633\u0628 \u0633\u06d2 \u0645\u0624\u062b\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc \u06a9\u06cc \u062a\u06c1\u0648\u06ba \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0641\u0639\u0627\u0644 \u06a9\u06d2 \u0627\u0631\u062f \u06af\u0631\u062f \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u0645\u0646\u0638\u0645 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0631\u0648\u06cc\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u06a9\u0627\u0631 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0627 \u0645\u0627\u0644\u06a9 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<ul>\n<li>\n<p>\u067e\u06cc\u0634\u06a9\u0634<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642<\/p>\n<\/li>\n<li>\n<p>\u0635\u0648\u0631\u062a \u062d\u0627\u0644<\/p>\n<\/li>\n<li>\n<p>\u0627\u0633\u062a\u0642\u0627\u0645\u062a<\/p>\n<\/li>\n<li>\n<p>\u0679\u06cc\u0633\u0679<\/p>\n<\/li>\n<\/ul>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-text\">lib\/\n  features\/\n    authentication\/\n      presentation\/\n      domain\/\n      data\/\n<\/code><\/pre>\n<p>\u062c\u06cc\u0633\u06d2 \u062c\u06cc\u0633\u06d2 \u0641\u0639\u0627\u0644\u06cc\u062a \u062a\u06cc\u0627\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0688\u06be\u0627\u0646\u0686\u06d2 \u0642\u062f\u0631\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0628\u06be\u06cc \u0628\u0691\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-text\">features\/\n  authentication\/\n    presentation\/\n      pages\/\n      widgets\/\n      state\/\n    domain\/\n      entities\/\n      usecases\/\n      repositories\/\n    data\/\n      models\/\n      repositories\/\n      sources\/\n<\/code><\/pre>\n<p>\u062a\u0635\u062f\u06cc\u0642 \u06a9\u0627 \u0646\u0638\u0627\u0645 \u0627\u0628 \u06a9\u0648\u0688\u0628\u06cc\u0633 \u0645\u06cc\u06ba \u0628\u06a9\u06be\u0631\u06d2 \u06c1\u0648\u0626\u06d2 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u06cc\u06a9 \u0645\u0631\u0628\u0648\u0637 \u06cc\u0648\u0646\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0688\u0631\u0627\u0645\u0627\u0626\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u06cc \u062c\u06af\u06c1 \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0628 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06d2 \u0631\u0648\u06cc\u06d2 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0648\u06c1 \u0641\u0648\u0631\u0627\u064b \u062c\u0627\u0646 \u0644\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0631\u06cc\u0627\u0633\u062a \u06a9\u06c1\u0627\u06ba \u06c1\u06d2\u060c \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u06a9\u06c1\u0627\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633\u062a\u0642\u0627\u0645\u062a \u06a9\u06cc\u0633\u06d2 \u0646\u0627\u0641\u0630 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u06a9\u06c1\u0627\u06ba \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0627\u06c1\u0645 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u062a\u0639\u062f\u062f \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u0628\u06cc\u06a9 \u0648\u0642\u062a \u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0648\u0627\u0636\u062d \u0645\u0644\u06a9\u06cc\u062a \u06a9\u06cc \u062d\u062f\u0648\u062f \u062d\u0627\u062f\u062b\u0627\u062a\u06cc \u062c\u0648\u0691\u06d2 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0645\u062a\u0648\u0627\u0632\u06cc \u062a\u0631\u0642\u06cc \u06a9\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u062d\u0641\u0648\u0638 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646 \u067e\u0631\u062a \u0631\u06cc\u0627\u0633\u062a\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u067e\u0631 \u0631\u062f \u0639\u0645\u0644 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class LoginPage extends StatelessWidget {\n  const LoginPage({super.key});\n\n  @override\n  Widget build(BuildContext context) {\n    return BlocConsumer<logincubit loginstate=\"\">(\n      listener: (context, state) {\n        if (state.isSuccess) {\n          context.go('\/home');\n        }\n      },\n      builder: (context, state) {\n        return LoginView(\n          isLoading: state.isLoading,\n          onSubmit: (email, password) {\n            context.read<logincubit>().login(\n              email,\n              password,\n            );\n          },\n        );\n      },\n    );\n  }\n}\n<\/logincubit><\/logincubit><\/code><\/pre>\n<p>\u06cc\u06c1\u0627\u06ba \u0627\u06c1\u0645 \u062a\u0641\u0635\u06cc\u0644 \u062e\u0648\u062f BLOC \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0630\u0645\u06c1 \u062f\u0627\u0631\u06cc \u06a9\u06cc \u0639\u0644\u06cc\u062d\u062f\u06af\u06cc\u06d4<\/p>\n<p>\u0648\u062c\u06cc\u0679\u0633 UI \u067e\u06cc\u0634 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0627\u0631\u0627\u062f\u06d2 \u0633\u06d2 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0645 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0645\u0631\u0628\u0648\u0637 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0648\u06c1 \u0622\u0631\u06a9\u06cc\u0633\u0679\u0631\u06cc\u0634\u0646 \u06a9\u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class LoginCubit extends Cubit<loginstate> {\n  final LoginUseCase loginUseCase;\n\n  LoginCubit(this.loginUseCase)\n      : super(const LoginState.initial());\n\n  Future<void> login(\n    String email,\n    String password,\n  ) async {\n    emit(state.loading());\n\n    final result = await loginUseCase(\n      email,\n      password,\n    );\n\n    result.fold(\n      (failure) => emit(\n        state.failure(failure.message),\n      ),\n      (_) => emit(\n        state.success(),\n      ),\n    );\n  }\n}\n<\/void><\/loginstate><\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0645\u062a\u06cc\u0627\u0632 \u0622\u067e \u06a9\u06d2 UI \u06a9\u0648\u0688 \u06a9\u0648 \u0636\u0645\u0646\u06cc \u0627\u062b\u0631\u0627\u062a \u0633\u06d2 \u0628\u06be\u0631\u06cc \u0622\u0631\u06a9\u06cc\u0633\u0679\u0631\u06cc\u0634\u0646 \u067e\u0631\u062a \u0628\u0646\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-separating-presentation-domain-and-data\">\u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646\u060c \u0688\u0648\u0645\u06cc\u0646 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0639\u0644\u06cc\u062d\u062f\u06af\u06cc<\/h2>\n<p>\u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0641\u0644\u0679\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u062d\u062f\u0648\u062f \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646\u060c \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642\u060c \u0627\u0648\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06d2 \u062e\u062f\u0634\u0627\u062a \u06a9\u0648 \u0627\u0644\u06af \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u067e\u0631\u062a\u06cc\u06ba \u0645\u062e\u062a\u0644\u0641 \u0634\u0631\u062d\u0648\u06ba \u067e\u0631 \u062a\u06cc\u0627\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 UI \u0645\u0633\u0644\u0633\u0644 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u062c\u0628\u06a9\u06c1 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644 \u0632\u06cc\u0627\u062f\u06c1 \u0622\u06c1\u0633\u062a\u06c1 \u0622\u06c1\u0633\u062a\u06c1 \u062a\u06cc\u0627\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06c1 \u063a\u06cc\u0631 \u0645\u062a\u0648\u0642\u0639 \u0637\u0648\u0631 \u067e\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0644\u06cc\u062d\u062f\u06af\u06cc \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u0628\u062a\u062f\u0631\u06cc\u062c \u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0644\u06cc\u06a9 \u06c1\u0648 \u062c\u0627\u0626\u06cc\u06ba \u06af\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0648\u062c\u06cc\u0679\u0633 \u06a9\u0648 \u0645\u0636\u0628\u0648\u0637\u06cc \u0633\u06d2 APIs\u060c \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633\u060c \u06a9\u06cc\u0634\u0646\u06af\u060c \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u0648\u0634\u0634\u0648\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633\u062a\u0642\u0627\u0645\u062a \u06a9\u06cc \u0645\u0646\u0637\u0642 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0648\u0691\u0627 \u0646\u06c1\u06cc\u06ba \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0627\u0645 \u0627\u06cc\u0646\u0679\u06cc \u067e\u06cc\u0679\u0631\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-dart\">ElevatedButton(\n  onPressed: () async {\n    final response = await dio.post(\n      '\/login',\n      data: {\n        'email': email,\n        'password': password,\n      },\n    );\n\n    if (response.statusCode == 200) {\n      Navigator.pushNamed(\n        context,\n        '\/home',\n      );\n    }\n  },\n)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u067e\u06c1\u0644\u06d2 \u062a\u0648 \u0628\u06d2 \u0636\u0631\u0631 \u0644\u06af \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0646\u06cc\u0679 \u0648\u0631\u06a9\u0646\u06af\u060c \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646\u060c \u0636\u0645\u0646\u06cc \u0627\u062b\u0631\u0627\u062a\u060c \u0627\u0648\u0631 \u0648\u06cc\u062c\u06cc\u0679 \u0644\u0627\u0626\u0641 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0645\u06cc\u0646\u062c\u0645\u0646\u0679 \u06a9\u0648 \u0645\u0636\u0628\u0648\u0637\u06cc \u0633\u06d2 \u062c\u0648\u0691\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0648\u06cc\u062c\u06cc\u0679 \u0627\u0628 \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u06a9\u0648\u0622\u0631\u0688\u06cc\u0646\u06cc\u0634\u0646 \u06a9\u0627 \u0645\u0627\u0644\u06a9 \u06c1\u06d2\u06d4 \u062c\u06cc\u0633\u06d2 \u062c\u06cc\u0633\u06d2 \u0628\u06c1\u0627\u0624 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u06cc\u0686\u06cc\u062f\u06c1 \u06c1\u0648\u062a\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0646 \u06a9\u0627 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648\u062a\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0648\u06cc\u062c\u0679 \u06a9\u0648 \u0635\u0631\u0641 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0627\u0631\u0627\u062f\u06d2 \u06a9\u0648 \u062e\u0627\u0631\u062c \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">ElevatedButton(\n  onPressed: () {\n    context.read<logincubit>().login(\n      email,\n      password,\n    );\n  },\n)\n<\/logincubit><\/code><\/pre>\n<p>\u0622\u0631\u06a9\u06cc\u0633\u0679\u0631\u06cc\u0634\u0646 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u067e\u0631\u062a \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0688\u0648\u0645\u06cc\u0646 \u067e\u0631\u062a \u0645\u06cc\u06ba \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0642\u0648\u0627\u0639\u062f \u0627\u0648\u0631 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c \u06a9\u06d2 \u0645\u0639\u0627\u06c1\u062f\u06d2 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">abstract class AuthenticationRepository {\n  Future<user> login(\n    String email,\n    String password,\n  );\n}\n<\/user><\/code><\/pre>\n<p>\u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0633\u06d2 \u0627\u0644\u06af \u0627\u0644\u06af \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0631\u0648\u06cc\u06d2 \u06a9\u0648 \u0645\u0631\u0628\u0648\u0637 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">class LoginUseCase {\n  final AuthenticationRepository repository;\n\n  LoginUseCase(this.repository);\n\n  Future<user> call(\n    String email,\n    String password,\n  ) {\n    return repository.login(\n      email,\n      password,\n    );\n  }\n}\n<\/user><\/code><\/pre>\n<p>\u06cc\u06c1 \u0639\u0644\u06cc\u062d\u062f\u06af\u06cc \u0627\u06c1\u0645 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u06a9\u0627 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u0646\u062d\u0635\u0627\u0631 HTTP \u06a9\u0644\u0627\u0626\u0646\u0679\u0633\u060c \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633\u060c \u06cc\u0627 \u0633\u06cc\u0631\u06cc\u0644\u0627\u0626\u0632\u06cc\u0634\u0646 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u067e\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u0688\u06cc\u0679\u0627 \u0644\u06cc\u0626\u0631 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class AuthenticationApi {\n  final Dio dio;\n\n  AuthenticationApi(this.dio);\n\n  Future<userdto> login(\n    String email,\n    String password,\n  ) async {\n    final response = await dio.post(\n      '\/login',\n      data: {\n        'email': email,\n        'password': password,\n      },\n    );\n\n    return UserDto.fromJson(\n      response.data,\n    );\n  }\n}\n<\/userdto><\/code><\/pre>\n<p>\u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06a9\u0627 \u0646\u0641\u0627\u0630 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06d2 \u062e\u062f\u0634\u0627\u062a \u06a9\u0648 \u0645\u0631\u0628\u0648\u0637 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628\u06a9\u06c1 \u0627\u0633 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u06a9\u0648 \u0628\u0627\u0642\u06cc \u0646\u0638\u0627\u0645 \u0633\u06d2 \u0627\u0644\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class AuthenticationRepositoryImpl\n    implements AuthenticationRepository {\n  final AuthenticationApi api;\n\n  AuthenticationRepositoryImpl(this.api);\n\n  @override\n  Future<user> login(\n    String email,\n    String password,\n  ) async {\n    final dto = await api.login(\n      email,\n      password,\n    );\n\n    return dto.toDomain();\n  }\n}\n<\/user><\/code><\/pre>\n<p>\u06cc\u06c1 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0645\u0632\u06cc\u062f \u0688\u06be\u0627\u0646\u0686\u06c1 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0648\u0642\u062a \u06af\u0632\u0631\u0646\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u0645\u0644\u06a9\u06cc\u062a \u06a9\u06cc \u062d\u062f\u0648\u062f \u0648\u0627\u0636\u062d \u06c1\u0648\u062a\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0638\u0627\u0645 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u062d\u0641\u0648\u0638 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0627\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u0632\u06cc\u062f \u0628\u0631\u0622\u06ba\u060c \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0633\u0645\u06cc\u0679\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u062c\u0627\u0646\u0686 \u0627\u0648\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u06a9\u0648 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-state-boundaries-and-state-management\">\u0631\u06cc\u0627\u0633\u062a\u06cc \u062d\u062f\u0648\u062f \u0627\u0648\u0631 \u0631\u06cc\u0627\u0633\u062a\u06cc \u0627\u0646\u062a\u0638\u0627\u0645\u06cc\u06c1<\/h2>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0641\u0644\u0679\u0631 \u0627\u0633\u0679\u06cc\u0679 \u0645\u06cc\u0646\u062c\u0645\u0646\u0679 \u0645\u0628\u0627\u062d\u062b\u06d2 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0648\u06ba \u067e\u0631 \u0645\u0631\u06a9\u0648\u0632 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631\u060c \u067e\u06cc\u0645\u0627\u0646\u06d2 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0622\u0644\u06d2 \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0645\u0644\u06a9\u06cc\u062a \u06a9\u06cc \u062d\u062f\u0648\u062f \u0633\u06d2 \u067e\u06cc\u062f\u0627 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u0645\u0634\u06a9\u0644 \u0633\u0648\u0627\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1: \u06a9\u06cc\u0627 \u0627\u06cc\u0633\u06d2 \u0628\u06c1\u062a \u06a9\u0645 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u06c1\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0622\u067e \u06a9\u0648 \u0631\u06cc\u0648\u0631 \u067e\u0648\u0688 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc\u061f \u06cc\u0627 \u0645\u062c\u06be\u06d2 BLoC \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u061f<\/p>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u0645\u0634\u06a9\u0644 \u0633\u0648\u0627\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u0631\u06cc\u0627\u0633\u062a \u06a9\u0627 \u0645\u0627\u0644\u06a9 \u06a9\u0648\u0646 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u06a9\u0628 \u062a\u06a9 \u0631\u06c1\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06a9\u0648\u0646 \u0627\u0633\u06d2 \u0628\u062f\u0644 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f \u06a9\u06cc\u0627 \u0646\u0638\u0627\u0645 \u0627\u0633 \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u06d2\u061f \u0627\u0648\u0631 \u062a\u0639\u0645\u06cc\u0631 \u0646\u0648 \u06a9\u06cc \u06a9\u06cc\u0627 \u062d\u062f\u0648\u062f \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba\u061f<\/p>\n<p>\u0628\u06c1\u062a \u0633\u0627\u0631\u06cc \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0628\u06c1\u062a \u0628\u0691\u06d2 \u0639\u0627\u0644\u0645\u06cc \u0631\u06cc\u0627\u0633\u062a\u06cc \u06a9\u0646\u0679\u06cc\u0646\u0631\u0632 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">class AppBloc extends Bloc<appevent appstate=\"\"> {\n  \/\/ authentication\n  \/\/ profile\n  \/\/ notifications\n  \/\/ settings\n  \/\/ analytics\n}\n<\/appevent><\/code><\/pre>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06cc\u06c1 \u0622\u0633\u0627\u0646 \u0645\u062d\u0633\u0648\u0633 \u06c1\u0648\u0627 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06c1\u0631 \u0686\u06cc\u0632 \u0639\u0627\u0644\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0642\u0627\u0628\u0644 \u0631\u0633\u0627\u0626\u06cc \u06c1\u0648 \u06af\u0626\u06cc \u062a\u06be\u06cc.<\/p>\n<p>\u0648\u0642\u062a \u06af\u0632\u0631\u0646\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0645\u0633\u0627\u0626\u0644 \u0632\u0646\u062f\u06af\u06cc \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06a9\u06d2 \u0645\u0641\u0631\u0648\u0636\u0648\u06ba \u06a9\u0648 \u0628\u0627\u0646\u0679\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0631\u06cc\u0627\u0633\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0636\u0628\u0648\u0637\u06cc \u0633\u06d2 \u062c\u0648\u0691\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062a\u0639\u0645\u06cc\u0631 \u0646\u0648 \u06a9\u06d2 \u067e\u06be\u06cc\u0644\u0627\u0624 \u06a9\u0627 \u0627\u0646\u062f\u0627\u0632\u06c1 \u0644\u06af\u0627\u0646\u0627 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0634\u06a9\u0644 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0631\u06cc\u0627\u0633\u062a\u06cc \u0679\u0631\u0627\u0646\u0632\u06cc\u0634\u0646 \u06a9\u0648 \u0688\u06cc\u0628\u06af \u06a9\u0631\u0646\u0627 \u0645\u06c1\u0646\u06af\u0627 \u06c1\u0648\u062a\u0627 \u062c\u0627 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0645\u06cc\u06ba \u0641\u06cc\u0686\u0631 \u0644\u06cc\u0648\u0644 \u06a9\u06cc \u0645\u0644\u06a9\u06cc\u062a \u06a9\u0648 \u062a\u0631\u062c\u06cc\u062d \u062f\u06cc\u062a\u0627 \u06c1\u0648\u06ba\u06d4<\/p>\n<pre><code class=\"language-text\">features\/\n  profile\/\n    state\/\n  checkout\/\n    state\/\n  notifications\/\n    state\/\n<\/code><\/pre>\n<p>\u06c1\u0631 \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u0627 \u0627\u067e\u0646\u0627 \u0644\u0627\u0626\u0641 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0627\u0648\u0631 \u0679\u0631\u0627\u0646\u0632\u06cc\u0634\u0646 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<pre><code class=\"language-dart\">class CartCubit extends Cubit<cartstate> {\n  CartCubit()\n      : super(\n          const CartState.empty(),\n        );\n\n  void addProduct(Product product) {\n    emit(\n      state.copyWith(\n        products: [\n          ...state.products,\n          product,\n        ],\n      ),\n    );\n  }\n}\n<\/cartstate><\/code><\/pre>\n<p>\u06cc\u06c1 \u0688\u0631\u0627\u0645\u0627\u0626\u06cc \u0637\u0648\u0631 \u067e\u0631 \u067e\u0648\u0634\u06cc\u062f\u06c1 \u0628\u0627\u0646\u0688\u0632 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062e\u062a\u0644\u0641 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0648 \u0648\u0627\u0642\u0639\u0627\u062a\u060c \u062a\u062c\u0631\u06cc\u062f\u0627\u062a\u060c \u06cc\u0627 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u06a9\u06cc\u0633\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0639\u0627\u0644\u0645\u06cc \u0631\u06cc\u0627\u0633\u062a \u06a9\u0648 \u0627\u0646 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u062a\u06a9 \u0645\u062d\u062f\u0648\u062f \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u062c\u0648 \u062d\u0642\u06cc\u0642\u06cc \u0645\u0639\u0646\u0648\u06ba \u0645\u06cc\u06ba \u0639\u0627\u0644\u0645\u06cc \u06c1\u0648\u06ba \u0627\u0648\u0631 \u0645\u062a\u0639\u062f\u062f \u0627\u0641\u0639\u0627\u0644 \u067e\u0631 \u0645\u062d\u06cc\u0637 \u06c1\u0648\u06ba\u06d4 \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631:<\/p>\n<ul>\n<li>\n<p>\u062b\u0628\u0648\u062a<\/p>\n<\/li>\n<li>\n<p>\u0644\u0648\u06a9\u0644\u0627\u0626\u0632\u06cc\u0634\u0646<\/p>\n<\/li>\n<li>\n<p>\u0645\u0648\u0636\u0648\u0639<\/p>\n<\/li>\n<li>\n<p>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0633\u06cc\u0634\u0646<\/p>\n<\/li>\n<\/ul>\n<p>\u062c\u0628 \u0628\u06be\u06cc \u0645\u0645\u06a9\u0646 \u06c1\u0648 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u062f\u0627\u0626\u0631\u06c1 \u06a9\u0627\u0631 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4<\/p>\n<h2 id=\"heading-navigation-at-scale\">\u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0631\u06cc\u0633\u0631\u0686<\/h2>\n<p>\u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u06a9\u06cc \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0679\u06cc\u0645\u0648\u06ba \u06a9\u06cc \u062a\u0648\u0642\u0639 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u0691\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0634\u0631\u0648\u0639 \u0645\u06cc\u06ba\u060c \u0631\u0648\u0679\u0646\u06af \u0645\u0639\u0645\u0648\u0644\u06cc \u0645\u062d\u0633\u0648\u0633 \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0622\u067e \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u0628\u06be\u06cc \u0633\u0644\u0627\u0626\u06cc\u0688 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u0641\u0644\u0648\u0679 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06cc \u062d\u0641\u0627\u0638\u062a \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u062a\u06d2 \u06c1\u06cc\u06ba:<\/p>\n<p>\u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u0645\u0646\u0637\u0642 \u0628\u06c1\u062a \u0627\u06c1\u0645 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u0628\u0691\u06be \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u0648 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642 \u067e\u0631 \u062a\u0648\u062c\u06c1 \u0645\u0631\u06a9\u0648\u0632 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642 \u0633\u06d2 \u0627\u0644\u06af \u062a\u06be\u0644\u06af \u0631\u06c1\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u0645\u0646\u0637\u0642 \u06a9\u0648 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642 \u0633\u06d2 \u0627\u0644\u06af \u06a9\u0631\u0646\u0627 \u0627\u06cc\u06a9 \u0628\u0646\u06cc\u0627\u062f\u06cc \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0628\u06c1\u062a\u0631\u06cc\u0646 \u0639\u0645\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>\u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06a9\u0648 \u06a9\u0628\u06be\u06cc \u0628\u06be\u06cc \u0631\u0648\u0679\u0646\u06af \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class AuthenticationRepository {\n  Future<void> login() async {\n    Navigator.pushNamed(\n      context,\n      '\/home',\n    );\n  }\n}\n<\/void><\/code><\/pre>\n<p>\u06cc\u06c1 \u06a9\u0648\u0688 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u0627\u0648\u0631 \u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u067e\u0648\u0631\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642 \u06a9\u0648 \u0646\u062a\u06cc\u062c\u06c1 \u0646\u06a9\u0627\u0644\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">sealed class LoginResult {}\n\nclass LoginSuccess extends LoginResult {}\n\nclass LoginFailure extends LoginResult {\n  final String message;\n\n  LoginFailure(this.message);\n}\n<\/code><\/pre>\n<p>\u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646 \u067e\u0631\u062a \u0627\u0646 \u0646\u062a\u0627\u0626\u062c \u067e\u0631 \u0631\u062f\u0639\u0645\u0644 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">BlocListener<logincubit loginstate=\"\">(\n  listener: (context, state) {\n    if (state.isSuccess) {\n      context.go('\/home');\n    }\n  },\n  child: const LoginView(),\n)\n<\/logincubit><\/code><\/pre>\n<p>\u06cc\u06c1 \u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646 \u067e\u0631\u062a \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0641\u06cc\u0635\u0644\u0648\u06ba \u06a9\u0648 \u0631\u0648\u0679\u0646\u06af \u06a9\u0631\u062a\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0627\u0633 \u06a9\u0627 \u062a\u0639\u0644\u0642 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u062c\u0627\u0646\u0686\u060c \u0688\u06cc\u0628\u06af\u0646\u06af\u060c \u0627\u0648\u0631 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u0645\u0644\u06a9\u06cc\u062a \u06a9\u0648 \u0628\u06be\u06cc \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-managing-shared-code\">\u0645\u0634\u062a\u0631\u06a9\u06c1 \u06a9\u0648\u0688 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645<\/h2>\n<p>\u0628\u0691\u06cc \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u0632 \u0644\u0627\u0645\u062d\u0627\u0644\u06c1 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u06a9\u0648\u0688 \u062c\u0645\u0639 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u0637\u0631\u062d \u06a9\u06d2 \u0641\u0648\u0644\u0688\u0631\u0632 \u06a9\u0648 \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u0646\u06d2 \u06a9\u0627 \u062e\u0637\u0631\u06c1 \u06c1\u06d2: <code>shared\/<\/code>, <code>common\/<\/code>\u06cc\u0627 <code>core\/<\/code> \u06cc\u06c1 \u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0645\u0646\u0637\u0642 \u06a9\u0627 \u0688\u0645\u067e\u0646\u06af \u06af\u0631\u0627\u0624\u0646\u0688 \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0634\u062a\u0631\u06a9\u06c1 UI \u067e\u0631\u0627\u0626\u0645\u06cc\u0679\u0648\u0632 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u0627\u0645\u06cc\u062f\u0648\u0627\u0631 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-text\">shared\/\n  widgets\/\n    app_button.dart\n    app_text_field.dart\n  theme\/\n  spacing\/\n<\/code><\/pre>\n<p>\u062a\u0627\u06c1\u0645\u060c \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u0635\u0648\u0635 \u0645\u0646\u0637\u0642 \u06a9\u0648 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06cc \u062d\u062f\u0648\u062f \u0645\u06cc\u06ba \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u062e\u0637\u0631\u0646\u0627\u06a9 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">shared\/\n  auth_helpers.dart\n  checkout_utils.dart\n<\/code><\/pre>\n<p>\u062c\u0628 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0645\u0646\u0637\u0642 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u067e\u0631\u062a \u0645\u06cc\u06ba \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u06a9\u0686\u06be \u0686\u06cc\u0632\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p>\u0645\u0644\u06a9\u06cc\u062a \u063a\u06cc\u0631 \u0648\u0627\u0636\u062d \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0645\u0634\u062a\u0631\u06a9\u06c1<\/p>\n<\/li>\n<li>\n<p>\u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u062d\u062f\u0648\u062f \u062e\u062a\u0645 \u06c1\u0648\u0646\u06d2 \u0644\u06af\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u062a\u062c\u0631\u06cc\u062f \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0686\u06be\u0648\u0679\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0646\u0642\u0644 \u06a9\u06cc \u0646\u0633\u0628\u062a \u0637\u0648\u06cc\u0644 \u0645\u062f\u062a\u06cc \u062f\u06cc\u06a9\u06be \u0628\u06be\u0627\u0644 \u06a9\u06d2 \u0627\u062e\u0631\u0627\u062c\u0627\u062a \u0632\u06cc\u0627\u062f\u06c1 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06cc\u0633\u06cc \u0635\u0648\u0631\u062a\u0648\u06ba \u0645\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0645\u0633\u062a\u0642\u0628\u0644 \u0645\u06cc\u06ba \u062f\u0648 \u0627\u0641\u0639\u0627\u0644 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062a\u06cc\u0627\u0631 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0646\u0642\u0644 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u062c\u0628\u0631\u06cc \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0624\u062b\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062a\u0646\u06c1\u0627\u0626\u06cc \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0631\u06a9\u06be \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u062d\u0627\u0644\u06cc \u06a9\u06cc \u0635\u0644\u0627\u062d\u06cc\u062a \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc \u0634\u0631\u062d \u06a9\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u06c1\u0645 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-scaling-dependency-injection\">\u062a\u0648\u0633\u06cc\u0639 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646<\/h2>\n<p>\u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0627 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u06a9\u0648 \u0627\u0644\u06af \u062a\u06be\u0644\u06af \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679\u06cc\u0628\u0644\u0679\u06cc \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0628\u06d2 \u0642\u0627\u0628\u0648 DI \u0622\u0633\u0627\u0646\u06cc \u0633\u06d2 \u067e\u0648\u0634\u06cc\u062f\u06c1 \u0639\u0627\u0644\u0645\u06cc \u062d\u0627\u0644\u062a \u06a9\u0627 \u0628\u0627\u0639\u062b \u0628\u0646 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0648\u0627\u0636\u062d \u062a\u0631\u06cc\u0646 \u0637\u0631\u06cc\u0642\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">class ProfileCubit extends Cubit<profilestate> {\n  final LoadProfileUseCase loadProfile;\n\n  ProfileCubit(this.loadProfile)\n      : super(\n          const ProfileState.initial(),\n        );\n}\n<\/profilestate><\/code><\/pre>\n<p>\u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0648 \u0645\u0631\u0626\u06cc \u0627\u0648\u0631 \u0648\u0627\u0636\u062d \u0631\u06a9\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0641\u0646\u06a9\u0634\u0646 \u0644\u06cc\u0648\u0644 \u06a9\u06cc \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u0628\u06be\u06cc \u0645\u0627\u0688\u06cc\u0648\u0644\u0631\u06cc\u0679\u06cc \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">void registerAuthenticationModule() {\n  getIt.registerLazySingleton<\n      AuthenticationRepository>(\n    () => AuthenticationRepositoryImpl(\n      getIt(),\n    ),\n  );\n\n  getIt.registerFactory(\n    () => LoginCubit(\n      getIt(),\n    ),\n  );\n}\n<\/code><\/pre>\n<p>\u0648\u06cc\u062c\u06cc\u0679 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0635\u0648\u0627\u0628\u062f\u06cc\u062f\u06cc \u0633\u0631\u0648\u0633 \u0644\u0648\u06a9\u06cc\u0679\u0631 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0633\u06d2 \u06af\u0631\u06cc\u0632 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">getIt<apiclient>()\n<\/apiclient><\/code><\/pre>\n<p>\u067e\u0648\u0634\u06cc\u062f\u06c1 \u0627\u0646\u062d\u0635\u0627\u0631 \u0688\u06cc\u0628\u06af\u0646\u06af \u06a9\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0634\u06a9\u0644 \u0628\u0646\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u0644\u06a9\u06cc\u062a \u0646\u0638\u0631 \u0646\u06c1\u06cc\u06ba \u0622\u062a\u06cc\u06d4<\/p>\n<p>\u062c\u0628 \u0628\u06be\u06cc \u0645\u0645\u06a9\u0646 \u06c1\u0648 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u06cc \u0645\u0644\u06a9\u06cc\u062a \u06a9\u0648 \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u06cc \u0645\u0644\u06a9\u06cc\u062a \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u0626\u06d2\u06d4<\/p>\n<h2 id=\"heading-production-considerations\">\u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u06a9\u06d2 \u062a\u062d\u0641\u0638\u0627\u062a<\/h2>\n<p>\u0622\u067e\u0631\u06cc\u0634\u0646\u0644 \u0645\u0633\u0627\u0626\u0644 \u06a9\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0622\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0628\u06c1\u062a \u0633\u06d2 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0645\u0628\u0627\u062d\u062b \u0631\u06a9 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06cc\u062f\u0627\u0648\u0627\u0631\u06cc \u0646\u0638\u0627\u0645 \u0627\u06cc\u0633\u06cc \u0631\u06a9\u0627\u0648\u0679\u0648\u06ba \u06a9\u0648 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u0627 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0641\u06cc\u0635\u0644\u0648\u06ba \u067e\u0631 \u0627\u06c1\u0645 \u0627\u062b\u0631 \u067e\u0691\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2:<\/p>\n<ul>\n<li>\n<p>\u0622\u063a\u0627\u0632 \u06a9\u06cc \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc<\/p>\n<\/li>\n<li>\n<p>\u0645\u0634\u0627\u06c1\u062f\u06c1<\/p>\n<\/li>\n<li>\n<p>\u0631\u06c1\u0627\u0626\u06cc \u06a9\u06cc \u062d\u0641\u0627\u0638\u062a<\/p>\n<\/li>\n<li>\n<p>\u06c1\u062c\u0631\u062a \u06a9\u06cc \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc<\/p>\n<\/li>\n<li>\n<p>\u0688\u06cc\u0628\u06af\u0646\u06af \u0645\u0631\u0626\u06cc\u062a<\/p>\n<\/li>\n<li>\n<p>\u0622\u067e\u0631\u06cc\u0634\u0646\u0644 \u0645\u0633\u062a\u0642\u0644 \u0645\u0632\u0627\u062c\u06cc<\/p>\n<\/li>\n<\/ul>\n<p>\u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0636\u0631\u0648\u0631\u062a \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0627\u0628\u062a\u062f\u0627 \u0633\u06d2 \u0628\u0686\u06cc\u06ba\u06d4 <code>main()<\/code>:<\/p>\n<pre><code class=\"language-dart\">Future<void> main() async {\n  WidgetsFlutterBinding\n      .ensureInitialized();\n\n  await configureDependencies();\n\n  runApp(\n    const App(),\n  );\n}\n<\/void><\/code><\/pre>\n<p>\u0633\u0633\u062a \u0627\u0628\u062a\u062f\u0627\u0621 \u0627\u0633\u0679\u0627\u0631\u0679 \u0627\u067e \u06a9\u06cc \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0627\u0633\u0679\u0627\u0631\u0679 \u0627\u067e \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0628\u0644\u0627\u06a9\u0646\u06af \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0645\u0634\u0627\u06c1\u062f\u06c1 \u0628\u06be\u06cc \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">FlutterError.onError =\n    FirebaseCrashlytics.instance\n        .recordFlutterFatalError;\n<\/code><\/pre>\n<p>\u0645\u0634\u0627\u06c1\u062f\u06d2 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u0688\u06cc\u0628\u06af\u0646\u06af \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0645\u06c1\u0646\u06af\u06d2 \u06c1\u0648\u062a\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u063a\u0644\u0637\u06cc\u0627\u06ba \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062e\u0635\u0648\u0635\u06cc\u062a \u0648\u0627\u0644\u06d2 \u062c\u06be\u0646\u0688\u06d2 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u062e\u0637\u0631\u06d2 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0628\u062a\u062f\u0631\u06cc\u062c \u0631\u0648\u0644 \u0622\u0624\u0679 \u06a9\u0648 \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">if (\n  featureFlags.isEnabled(\n    'new_checkout',\n  )\n) {\n  return const NewCheckoutPage();\n}\n\nreturn const LegacyCheckoutPage();\n<\/code><\/pre>\n<p>\u062c\u06cc\u0633\u06d2 \u062c\u06cc\u0633\u06d2 \u06c1\u0645\u0627\u0631\u06cc \u0679\u06cc\u0645 \u0628\u0691\u06be\u062a\u06cc \u06c1\u06d2\u060c \u0622\u067e\u0631\u06cc\u0634\u0646\u0644 \u0645\u0633\u062a\u0642\u0644 \u0645\u0632\u0627\u062c\u06cc \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0627\u06c1\u0645 \u06c1\u0648\u062a\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u0644\u0646\u0679\u0646\u06af\u060c \u0641\u0627\u0631\u0645\u06cc\u0679\u0646\u06af\u060c \u062e\u0648\u062f\u06a9\u0627\u0631 \u062c\u0627\u0646\u0686\u060c \u062c\u0627\u0645\u062f \u062a\u062c\u0632\u06cc\u06c1\u060c \u0627\u0648\u0631 \u067e\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0635\u0631\u0641 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06c1\u06cc \u0646\u0638\u0627\u0645 \u06a9\u06d2 \u0627\u0631\u062f \u06af\u0631\u062f \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0646\u06af \u06a9\u06d2 \u0646\u0638\u0645 \u0648 \u0636\u0628\u0637 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0628\u0631\u0642\u0631\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u0631\u06a9\u06be \u0633\u06a9\u062a\u0627\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>\u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u067e\u06be\u0691\u067e\u06be\u0691\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0627\u0633 \u0648\u0642\u062a \u06a9\u0627\u0645\u06cc\u0627\u0628 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0628 \u0679\u06cc\u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u06d2 \u0645\u0642\u0627\u0645\u060c \u0648\u0627\u0636\u062d \u0645\u0644\u06a9\u06cc\u062a\u060c \u0627\u0644\u06af \u062a\u06be\u0644\u06af \u0631\u06cc\u0627\u0633\u062a \u06a9\u06cc \u062d\u062f\u0648\u062f\u060c \u0642\u0627\u0628\u0644 \u067e\u06cc\u0634\u0646 \u06af\u0648\u0626\u06cc \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0628\u06c1\u0627\u0624\u060c \u0627\u0648\u0631 \u0642\u0627\u0628\u0644 \u0639\u0645\u0644 \u0646\u0638\u0627\u0645 \u06a9\u06d2 \u0627\u0631\u062a\u0642\u0627 \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0686\u06be\u0627 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06a9\u0648 \u062e\u062a\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u06a9\u0648 \u0642\u0627\u0628\u0644 \u0641\u06c1\u0645 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u06d2 \u0627\u0631\u062f \u06af\u0631\u062f \u0645\u0646\u0638\u0645 \u06a9\u0631\u06cc\u06ba\u060c \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u0648 \u0627\u0644\u06af \u06a9\u0631\u06cc\u06ba\u060c \u067e\u0648\u0634\u06cc\u062f\u06c1 \u0627\u0646\u062d\u0635\u0627\u0631 \u0633\u06d2 \u0628\u0686\u06cc\u06ba\u060c \u0631\u06cc\u0627\u0633\u062a\u06cc \u0645\u0644\u06a9\u06cc\u062a \u06a9\u0648 \u0633\u0646\u062c\u06cc\u062f\u06af\u06cc \u0633\u06d2 \u0644\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u062a\u062c\u0631\u06cc\u062f\u0648\u06ba \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0645\u062d\u062a\u0627\u0637 \u0631\u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u0628\u0627\u062a \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0628\u062a\u062f\u0631\u06cc\u062c \u062a\u06cc\u0627\u0631 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0628\u06c1\u062a\u0631\u06cc\u0646 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0645\u0633\u0644\u0633\u0644 \u0631\u06af\u0691 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0622\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632\u060c \u0679\u06cc\u0645\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e\u0631\u06cc\u0634\u0646\u0644 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u062a\u06cc\u0627\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u067e\u06be\u0691\u067e\u06be\u0691\u0627\u0646\u0627 \u0622\u067e \u06a9\u0648 \u0628\u06c1\u062a \u062a\u06cc\u0632\u06cc \u0633\u06d2 UI \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0631\u0641\u062a\u0627\u0631 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06a9\u06d2 \u0633\u0628 \u0633\u06d2 \u0628\u0691\u06d2 \u0641\u0648\u0627\u0626\u062f \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0679\u06be\u06cc\u06a9 \u0679\u06be\u06cc\u06a9 \u0645\u0633\u0627\u0626\u0644 \u0628\u06be\u06cc \u0627\u0679\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0627\u06a9\u062b\u0631 \u0627\u067e\u0646\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0686\u0646\u062f \u0627\u0633\u06a9\u0631\u06cc\u0646\u06cc\u06ba \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u062f\u0631\u062c\u0646\u0648\u06ba \u0628\u0646 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0648\u06c1 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-25778","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/25778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/comments?post=25778"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/25778\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/media?parent=25778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/categories?post=25778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/tags?post=25778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}