{"version":"1.0","provider_name":"Software development - offshore service | BAP Software","provider_url":"https:\/\/bap-software.net\/en","author_name":"Dao Thanh","author_url":"https:\/\/bap-software.net\/en\/author\/daothanh\/","title":"(Ti\u1ebfng Vi\u1ec7t) 7 l\u00fd do n\u00ean h\u1ecdc Flutter n\u0103m 2021","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"2mBRzXOIom\"><a href=\"https:\/\/bap-software.net\/en\/ly-do-nen-hoc-flutter\/\">(Ti\u1ebfng Vi\u1ec7t) 7 l\u00fd do n\u00ean h\u1ecdc Flutter n\u0103m 2021<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/bap-software.net\/en\/ly-do-nen-hoc-flutter\/embed\/#?secret=2mBRzXOIom\" width=\"600\" height=\"338\" title=\"&#8220;(Ti\u1ebfng Vi\u1ec7t) 7 l\u00fd do n\u00ean h\u1ecdc Flutter n\u0103m 2021&#8221; &#8212; Software development - offshore service | BAP Software\" data-secret=\"2mBRzXOIom\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/bap-software.net\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/cdn.bap-software.net\/2021\/06\/flutter.jpg","thumbnail_width":650,"thumbnail_height":487,"description":"Sorry, this entry is only available in Ti\u1ebfng Vi\u1ec7t.N\u0103m nay, \u1ee9ng d\u1ee5ng cho \u0111i\u1ec7n tho\u1ea1i di \u0111\u1ed9ng ti\u1ebfp t\u1ee5c \u0111\u1ec3 tr\u1edf n\u00ean ph\u1ed5 bi\u1ebfn h\u01a1n. V\u00e0 c\u00f3 r\u1ea5t nhi\u1ec1u c\u00f4ng c\u1ee5 gi\u00fap b\u1ea1n t\u1ea1o ra m\u1ed9t \u1ee9ng d\u1ee5ng di \u0111\u1ed9ng. Trong s\u1ed1 nh\u1eefng c\u00f4ng c\u1ee5 n\u00e0y c\u00f3 ng\u00f4n ng\u1eef Flutter. 1. Flutter l\u00e0 g\u00ec? Flutter l\u00e0 UI Framework m\u00e3 ngu\u1ed3n m\u1edf d\u00e0nh cho di \u0111\u1ed9ng, mi\u1ec5n ph\u00ed \u0111\u01b0\u1ee3c t\u1ea1o b\u1edfi Google v\u00e0 ph\u00e1t h\u00e0nh v\u00e0o th\u00e1ng 5 n\u0103m 2017. N\u00f3i \u0111\u01a1n gi\u1ea3n, Flutter cho ph\u00e9p b\u1ea1n t\u1ea1o m\u1ed9t \u1ee9ng d\u1ee5ng di \u0111\u1ed9ng g\u1ed1c (native app) v\u1edbi m\u1ed9t codebase. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng m\u1ed9t ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh v\u00e0 m\u1ed9t codebase \u0111\u1ec3 t\u1ea1o hai \u1ee9ng d\u1ee5ng kh\u00e1c nhau (cho iOS v\u00e0 Android). Flutter g\u1ed3m 2 th\u00e0nh ph\u1ea7n quan tr\u1ecdng: M\u1ed9t SDK (Software Development Kit): M\u1ed9t b\u1ed9 s\u01b0u t\u1eadp c\u00e1c c\u00f4ng c\u1ee5 s\u1ebd gi\u00fap b\u1ea1n ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng c\u1ee7a m\u00ecnh. \u0110i\u1ec1u n\u00e0y bao g\u1ed3m c\u00e1c c\u00f4ng c\u1ee5 \u0111\u1ec3 bi\u00ean d\u1ecbch m\u00e3 c\u1ee7a b\u1ea1n th\u00e0nh m\u00e3 m\u00e1y g\u1ed1c (m\u00e3 cho iOS v\u00e0 Android). M\u1ed9t Framework (UI Library based on widgets): M\u1ed9t t\u1eadp h\u1ee3p c\u00e1c th\u00e0nh ph\u1ea7n UI c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng (button, text inputs, slider, v.v.) gi\u00fap b\u1ea1n c\u00f3 th\u1ec3 c\u00e1 nh\u00e2n h\u00f3a t\u00f9y theo nhu c\u1ea7u c\u1ee7a ri\u00eang m\u00ecnh. \u0110\u1ec3 l\u1eadp tr\u00ecnh v\u1edbi Flutter, b\u1ea1n s\u1ebd s\u1eed d\u1ee5ng m\u1ed9t ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh g\u1ecdi l\u00e0 Dart. Ng\u00f4n ng\u1eef n\u00e0y \u0111\u01b0\u1ee3c t\u1ea1o b\u1edfi Google v\u00e0o n\u0103m 2011, n\u00f3 \u0111\u00e3 \u0111\u01b0\u1ee3c c\u1ea3i thi\u1ec7n r\u1ea5t nhi\u1ec1u trong nh\u1eefng n\u0103m qua. Dart t\u1eadp trung v\u00e0o ph\u00e1t tri\u1ec3n front end, v\u00e0 b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u00f3 \u0111\u1ec3 t\u1ea1o \u1ee9ng d\u1ee5ng di \u0111\u1ed9ng v\u00e0 c\u1ea3 \u1ee9ng d\u1ee5ng web. N\u1ebfu b\u1ea1n bi\u1ebft m\u1ed9t \u00edt v\u1ec1 l\u1eadp tr\u00ecnh, Dart c\u0169ng l\u00e0 ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng. B\u1ea1n c\u00f3 [&hellip;]"}