[]
Discover the future of app development with this bundle | TechRepublic -1) { cookiesArray = document.cookie.split(‘;’); for(c=0;c -1) { cookiePV = parseInt(cookieValue); cookiePV++; setCookiePV=cookiePV.toString(); document.cookie = “userIP10.0.128.201=”+setCookiePV+”; expires=”+cookieExpiration+”; path=/”; } } } else { document.cookie = “userIP10.0.128.201=1; expires=”+cookieExpiration+”; path=/”; } //set ptype for native ads var ptype = ”; ptype = ‘article’; window.googletag=window.googletag||{cmd:[]},window.ta=window.ta||{gam:{ready:!1,tags:{}}}; var mbw = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var currentQueries = (new URL(document.location)).searchParams; var campaignQuery = ”; if(currentQueries != ”) { campaignQuery = currentQueries.get(“adTargeting_campaign”); } var currentPath = window.location.href.split(‘?’)[0]; var contentID = currentPath.split(‘/’); contentID = contentID[contentID.length – 2]; (getDataLayerValue = function (e, t, a) { for (var o = 0, n = window.dataLayer.length; o < n; o++) { var g; if ( void 0 !== dataLayer[o][e] && ((g = t ? cleanKeyValue_GAM(dataLayer[o][e]) : dataLayer[o][e]), a) ) return g; } return g; }), (getURLSegments = function (e) { return e.split("/").filter(function (e) { return null != e && "" != e && null != e; }); }), (getCMSEnvironment = function () { var e = new RegExp(/(local|dev).wordpress.relay.cool/).test( window.location.hostname ), t = new RegExp(/.*(local|dev).*.wpengine.com/).test( window.location.hostname ), s = new RegExp(/.*(staging|prod).*.tech-republic.web.fortyau.com/).test(window.location.hostname), a = new RegExp(/stage.wordpress.relay.cool/).test( window.location.hostname ), o = new RegExp(/.*(stage|stg).*.wpengine.com/).test( window.location.hostname ); return e || t || s ? "dev" : a || o ? "stage" : "prod"; }), (getGAMCookie = function (e) { for ( var t = e + "=", a = document.cookie.split(";"), o = 0; o < a.length; o++ ) { var n = a[o].replace(/^s+|s+$/g, ""); if (0 == n.indexOf(t)) return n.substring(t.length, n.length); } return ""; }), (setGAMCookie = function (e, t, a, o) { if (!(e && t && a && o)) return !1; var n = new Date(); switch (o) { case "mo": n.setMonth(n.getMonth() + a); break; case "hr": n.setTime(n.getTime() + 60 * a * 60 * 1e3); break; case "min": n.setTime(n.getTime() + 60 * a * 1e3); break; case "sec": n.setTime(n.getTime() + 1e3 * a); break; default: n.setTime(n.getTime() + 24 * a * 60 * 60 * 1e3); } var g = "expires=" + n.toUTCString(); document.cookie = e + "=" + t + ";" + g + ";path=/"; }), (checkGAMCookie = function (e) { return e && "" != getGAMCookie(e) ? 1 : 0; }), (cleanKeyValue_GAM = function (e) { if (e) if (Array.isArray(e)) for (i = 0; i < e.length; i++) e[i] = e[i] .replace(/["'=!+#*~;^()[],&]/g, "") .replace(/s+/g, " ") .replace(/^s+|s+$/g, ""); else "object" == typeof e && null !== e ? Object.keys(e).forEach(function (t) { e[t] = e[t] .replace(/["'=!+#*~;^()[],&]/g, "") .replace(/s+/g, " ") .replace(/^s+|s+$/g, ""); }) : (e = e .replace(/["'=!+#*~;^()[],&]/g, "") .replace(/s+/g, " ") .replace(/^s+|s+$/g, "")); return e; }), (dumpGAMTargeting = function () { if (window.googletag && googletag.pubadsReady) { var e = window.googletag.pubads().getTargetingKeys(); for (k = 0; k Skip to content
on September 9, 2022, 6:15 AM PDT
Discover the future of app development with this bundle
Take a deep dive into Solidity and Flutter.
We may be compensated by vendors who appear on this page through methods such as affiliate links or sponsored partnerships. This may influence how and where their products appear on our site, but vendors cannot pay to influence the content of our reviews. For more info, visit our Terms of Use page. Image: gesrey/Adobe Stock
If you want to build apps these days, it’s only smart to build them for all operating systems at once. Nobody wants to write extremely similar code twice, after all. As an aspiring app developer, The 2022 Solidity & Flutter Developer Bundle can help you develop the skills you need to streamline your development workflow and build for multiple platforms at the same time.
Starting out, you’ll learn the basic concepts of Flutter and start to develop high-performing cross-platform applications with a single code base. You’ll learn how to set up a Firebase project to manage your code and practice your skills by building a basic version of a chat app.
Then, you’ll expand upon your skills by getting familiar with Solidity, one of the most popular tools for building decentralized apps. You’ll practice by building a decentralized to-do app, creating and selling your first NFT, and even building a full-stack NFT marketplace. By the end of the courses, you’ll have a firm grasp on where app development is trending and have the real-world skills to keep up.
Explore the future of app development. For a limited time, you can enroll in The 2022 Solidity & Flutter Developer Bundle for just $24.99.
Prices and availability are subject to change.
Published: September 9, 2022, 6:15 AM PDT Modified: September 9, 2022, 6:21 AM PDT See more Developer
Share: Discover the future of app development with this bundle
Editor’s Picks
- Image: Rawpixel/Adobe Stock
- Image: Adobe Stock
- Image: BillionPhotos.com/Adobe Stock CXO
Top 10 ERP vendors 2022
Are you an IT manager or executive trying to make the case for a new ERP vendor? Compare the top ERP software solutions with our list today.
Published: July 26, 2022, 8:30 AM PDT Modified: July 30, 2022, 3:15 AM PDT See more CXO
- Image: Apple. At WWDC 2022, Apple announced the planned release of the next version of its Mac operating system, macOS Ventura, for the fall of 2022.
- Image: elenabsl/Adobe Stock
- Image: iStock/phototechno Cloud
Multicloud explained: A cheat sheet
This comprehensive guide covers the use of services from multiple cloud vendors, including the benefits businesses gain and the challenges IT teams face when using multicloud.
Published: August 10, 2022, 12:33 PM PDT Modified: August 16, 2022, 7:07 AM PDT See more Cloud
it may take a few seconds.”};var _targetWindow=”prefer-popup”;var _redirectOverlay=”overlay-with-spinner-and-message”; window.NSLPopup = function (url, title, w, h) { var userAgent = navigator.userAgent, mobile = function () { return /b(iPhone|iP[ao]d)/.test(userAgent) || /b(iP[ao]d)/.test(userAgent) || /Android/i.test(userAgent) || /Mobile/i.test(userAgent); }, screenX = window.screenX !== undefined ? window.screenX : window.screenLeft, screenY = window.screenY !== undefined ? window.screenY : window.screenTop, outerWidth = window.outerWidth !== undefined ? window.outerWidth : document.documentElement.clientWidth, outerHeight = window.outerHeight !== undefined ? window.outerHeight : document.documentElement.clientHeight – 22, targetWidth = mobile() ? null : w, targetHeight = mobile() ? null : h, V = screenX = 42 ? /; wv/.test(ua) : /d{2}.0.0/.test(version) ? true : _isWebView_Android(options); } return false; } function _isWebView_iOS(options) { var document = (window[“document”] || {}); if (“WEB_VIEW” in options) { return options[“WEB_VIEW”]; } return !(“fullscreenEnabled” in document || “webkitFullscreenEnabled” in document || false); } function _isWebView_Android(options) { if (“WEB_VIEW” in options) { return options[“WEB_VIEW”]; } return !(“requestFileSystem” in window || “webkitRequestFileSystem” in window || false); } var options = {}; var nav = window.navigator || {}; var ua = nav.userAgent || “”; var os = _detectOS(ua); var browser = _detectBrowser(ua); var browserVersion = _detectBrowserVersion(ua, browser); isWebView = _isWebView(ua, os, browser, browserVersion, options); } return isWebView; } function isAllowedWebViewForUserAgent(provider) { var googleAllowedWebViews = [ ‘Instagram’, ‘FBAV’, ‘FBAN’, ‘Line’, ], facebookAllowedWebViews = [ ‘Instagram’, ‘FBAV’, ‘FBAN’ ], whitelist = []; switch (provider) { case ‘facebook’: whitelist = facebookAllowedWebViews; break; case ‘google’: whitelist = googleAllowedWebViews; break; } var nav = window.navigator || {}; var ua = nav.userAgent || “”; if (whitelist.length && ua.match(new RegExp(whitelist.join(‘|’)))) { return true; } return false; } window._nslDOMReady(function () { window.nslRedirect = function (url) { if (_redirectOverlay) { var overlay = document.createElement(‘div’); overlay.id = “nsl-redirect-overlay”; var overlayHTML = ”, overlayContainer = “”, overlayContainerClose = “”, overlaySpinner = “”, overlayTitle = “
” + _localizedStrings.redirect_overlay_title + “”, overlayText = “
” + _localizedStrings.redirect_overlay_text + “”; switch (_redirectOverlay) { case “overlay-only”: break; case “overlay-with-spinner”: overlayHTML = overlayContainer + overlaySpinner + overlayContainerClose; break; default: overlayHTML = overlayContainer + overlaySpinner + overlayTitle + overlayText + overlayContainerClose; break; } overlay.insertAdjacentHTML(“afterbegin”, overlayHTML); document.body.appendChild(overlay); } window.location = url; }; var targetWindow = _targetWindow || ‘prefer-popup’, lastPopup = false; var buttonLinks = document.querySelectorAll(‘ a[data-plugin=”nsl”][data-action=”connect”], a[data-plugin=”nsl”][data-action=”link”]’); buttonLinks.forEach(function (buttonLink) { buttonLink.addEventListener(‘click’, function (e) { if (lastPopup && !lastPopup.closed) { e.preventDefault(); lastPopup.focus(); } else { var href = this.href, success = false; if (href.indexOf(‘?’) !== -1) { href += ‘&’; } else { href += ‘?’; } var redirectTo = this.dataset.redirect; if (redirectTo === ‘current’) { href += ‘redirect=’ + encodeURIComponent(window.location.href) + ‘&’; } else if (redirectTo && redirectTo !== ”) { href += ‘redirect=’ + encodeURIComponent(redirectTo) + ‘&’; } if (targetWindow !== ‘prefer-same-window’ && checkWebView()) { targetWindow = ‘prefer-same-window’; } if (targetWindow === ‘prefer-popup’) { lastPopup = NSLPopup(href + ‘display=popup’, ‘nsl-social-connect’, this.dataset.popupwidth, this.dataset.popupheight); if (lastPopup) { success = true; e.preventDefault(); } } else if (targetWindow === ‘prefer-new-tab’) { var newTab = window.open(href + ‘display=popup’, ‘_blank’); if (newTab) { if (window.focus) { newTab.focus(); } success = true; e.preventDefault(); } } if (!success) { window.location = href; e.preventDefault(); } } }); }); var googleLoginButtons = document.querySelectorAll(‘ a[data-plugin=”nsl”][data-provider=”google”]’); if (googleLoginButtons.length && checkWebView() && !isAllowedWebViewForUserAgent(‘google’)) { googleLoginButtons.forEach(function (googleLoginButton) { googleLoginButton.remove(); }); } var facebookLoginButtons = document.querySelectorAll(‘ a[data-plugin=”nsl”][data-provider=”facebook”]’); if (facebookLoginButtons.length && checkWebView() && /Android/.test(window.navigator.userAgent) && !isAllowedWebViewForUserAgent(‘facebook’)) { facebookLoginButtons.forEach(function (facebookLoginButton) { facebookLoginButton.remove(); }); } });})();]]>