当前位置: 首页 > news >正文

做b2b网站用什么架构谷歌seo搜索引擎

做b2b网站用什么架构,谷歌seo搜索引擎,番禺南村网站建设,新沂网站建设因为工作的需要,也为了个人发展,现在的话,转战Flutter跨端开发了,虽然目前的项目只发了android端,但是那天尝试了一下Ios的打包流程,也能运行,只是IOS那边的打包稍微复杂一些。 差不多学习了一…

因为工作的需要,也为了个人发展,现在的话,转战Flutter跨端开发了,虽然目前的项目只发了android端,但是那天尝试了一下Ios的打包流程,也能运行,只是IOS那边的打包稍微复杂一些。

差不多学习了一周了,现在项目也在入手开始写了,总的来说Android转Flutter不难,Android原生应用就是指使用Java或Kotlin语言直接调用Android SDK开发的应用程序;而iOS原生应用就是指通过Objective-C或Swift语言直接调用iOS SDK开发的应用程序,Flutter开发,用心学学很快就上手了,语言虽然用的是Dart,但是很好入门,现在的高阶语言,都是缝合怪。

目前入门的话,有中文的Flutter开发社区,里面的东西简单易懂,可以去看看。

文章仅作个人总结

一、什么是Flutter?

Flutter 是 Google 推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart 语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter 提供了丰富的组件、接口,开发者可以很快地为 Flutter 添加 Native(即原生开发,指基于平台原生语言来开发应用,flutter可以和平台原生语言混合开发) 扩展

二、Dart语言简介

1、var 关键字 作用:声明一个变量

var t = "hi world";
// 下面代码在dart中会报错,因为变量t的类型已经确定为String,
// 类型一旦确定后则不能再更改其类型。
t = 1000;

2.finalconst 关键字 声明一个变量

如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型。 一个 final 变量只能被设置一次,两者区别在于:const 变量是一个编译时常量(编译时直接替换为常量值),final变量在第一次使用时被初始化。被final或者const修饰的变量,变量类型可以省略,如:

//可以省略String这个类型声明
final str = "hi world";
//final String str = "hi world"; 
const str1 = "hi world";
//const String str1 = "hi world";

3.dynamic 和 Object 声明一个对象

Object 是 Dart 所有对象的根基类,也就是说在 Dart 中所有类型都是Object的子类(包括Function和Null),所以任何类型的数据都可以赋值给Object声明的对象。 dynamicObject声明的变量都可以赋值任意对象,且后期可以改变赋值的类型,这和 var 是不同的,如:

dynamic t;
Object x;
t = "hi world";
x = 'Hello Object';
//下面代码没有问题
t = 1000;
x = 1000;

dynamicObject不同的是dynamic声明的对象编译器会提供所有可能的组合,而Object声明的对象只能使用 Object 的属性与方法, 否则编译器会报错,如:

 dynamic a;Object b = "";main() {a = "";printLengths();}   printLengths() {// 正常print(a.length);// 报错 The getter 'length' is not defined for the class 'Object'print(b.length);}

dynamic 的这个特点使得我们在使用它时需要格外注意,这很容易引入一个运行时错误,比如下面代码在编译时不会报错,而在运行时会报错:

print(a.xx); // a是字符串,没有"xx"属性,编译时不会报错,运行时会报错

4.空安全检查机制(和kotlin一样)

5.函数声明

bool isNoble(int atomicNumber) {return _nobleGases[atomicNumber] != null;
}

Dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断。函数和kotlin一样可以作为变量,参数进行传递

6.mixin 

Dart 是不支持多继承的,但是它支持 mixin,简单来讲 mixin 可以 “组合” 多个类。

类似于kotlin的单继承(extends),多继承(implements)

class Man extends Person with Eat, Walk, Code{}

7.异步支持 

1.Future

Future表示一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要么失败。

1.Future.then

例如:Dio网络请求库中的request方法,返回的就是一个Future对象

  Future<Response<T>> request<T>(String url, {Object? data,Map<String, dynamic>? queryParameters,CancelToken? cancelToken,Options? options,ProgressCallback? onSendProgress,ProgressCallback? onReceiveProgress,});

我们在请求一个接口后,调用then方法,接收异步结果

GlobalRepository.appUpdate().then((ApiModel res) {
//GlobalRepository.appUpdate()是一个Future对象if (res.apiSuccess()) {VersionModel resModel = VersionModel.fromJson(res.data);if (resModel.update == true) {DialogUtil.showUpdateAppDialog();}}});

直接调用

Future.delayed(Duration(seconds: 2),(){return "hi world!";
}).then((data){print(data);
});

2.Future.catchError

如果异步任务发生错误,我们可以在catchError中捕获错误,我们将上面示例改为:

Future.delayed(Duration(seconds: 2),(){//return "hi world!";throw AssertionError("Error");  
}).then((data){//执行成功会走到这里  print("success");
}).catchError((e){//执行失败会走到这里  print(e);
});

3.Future.wait

有些时候,我们需要等待多个异步任务都执行结束后才进行一些操作,可以使用Future.wait

例如项目中,需要同时抓取各种数据,使用此方法,可以等多个接口返回后,在执行下面的代码

2.async/await

消除回调地狱(Callback Hell),类似于C接口等待B接口的结果,B接口等待A接口的结果,在有时候会写出很傻很长的代码。

task() async {try{String id = await login("alice","******");String userInfo = await getUserInfo(id);await saveUserInfo(userInfo);//执行接下来的操作   } catch(e){//错误处理   print(e);   }  
}

 

  • async用来表示函数是异步的,定义的函数会返回一个Future对象,可以使用 then 方法添加回调函数。

  • await 后面是一个Future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在 async 函数内部。

  • 上面的代码会一行一行的执行

8.循环

for (var i = 0; i < 10; i++) {// 循环体
}var list = [1, 2, 3];
for (var item in list) {// 循环体
}while (condition) {// 循环体
}do {// 循环体
} while (condition);

 其余好像没啥了,都比较简单。

个人建议,简单的东西,看看文章,官方文档就行了,没必要去看视频啥的,真的慢。

后面会总结flutter常用的开发组件,常用库的使用,自己平时开发中的一些点


文章转载自:
http://meteorologic.bbtn.cn
http://soliped.bbtn.cn
http://videoplayer.bbtn.cn
http://electriferous.bbtn.cn
http://octameter.bbtn.cn
http://acceptee.bbtn.cn
http://bunchgrass.bbtn.cn
http://strategist.bbtn.cn
http://flagrancy.bbtn.cn
http://hammam.bbtn.cn
http://guiana.bbtn.cn
http://leone.bbtn.cn
http://gassy.bbtn.cn
http://xenocracy.bbtn.cn
http://outrigger.bbtn.cn
http://causationism.bbtn.cn
http://microtone.bbtn.cn
http://squirrely.bbtn.cn
http://posit.bbtn.cn
http://framboesia.bbtn.cn
http://fortuneless.bbtn.cn
http://incertitude.bbtn.cn
http://silken.bbtn.cn
http://balcony.bbtn.cn
http://bandyball.bbtn.cn
http://kettledrummer.bbtn.cn
http://prodigious.bbtn.cn
http://cryptomeria.bbtn.cn
http://backsword.bbtn.cn
http://giant.bbtn.cn
http://chromatic.bbtn.cn
http://contributory.bbtn.cn
http://unitar.bbtn.cn
http://parasexual.bbtn.cn
http://freckling.bbtn.cn
http://aif.bbtn.cn
http://meiosis.bbtn.cn
http://democracy.bbtn.cn
http://avatar.bbtn.cn
http://nonillion.bbtn.cn
http://coruscant.bbtn.cn
http://siderolite.bbtn.cn
http://figbird.bbtn.cn
http://asciferous.bbtn.cn
http://circuity.bbtn.cn
http://free.bbtn.cn
http://gibbed.bbtn.cn
http://unblamable.bbtn.cn
http://uglifruit.bbtn.cn
http://straightlaced.bbtn.cn
http://pali.bbtn.cn
http://anadyomene.bbtn.cn
http://counterinsurgency.bbtn.cn
http://riad.bbtn.cn
http://rumormongering.bbtn.cn
http://waterhead.bbtn.cn
http://sixth.bbtn.cn
http://laity.bbtn.cn
http://nattier.bbtn.cn
http://jotting.bbtn.cn
http://cookroom.bbtn.cn
http://nc.bbtn.cn
http://basle.bbtn.cn
http://desegregate.bbtn.cn
http://grassland.bbtn.cn
http://freemartin.bbtn.cn
http://taxman.bbtn.cn
http://indefinably.bbtn.cn
http://mousey.bbtn.cn
http://cunabula.bbtn.cn
http://befell.bbtn.cn
http://sequentially.bbtn.cn
http://sodomist.bbtn.cn
http://intrastate.bbtn.cn
http://chromophobe.bbtn.cn
http://gentility.bbtn.cn
http://citrous.bbtn.cn
http://glowboy.bbtn.cn
http://reimportation.bbtn.cn
http://monodisperse.bbtn.cn
http://peckish.bbtn.cn
http://affinal.bbtn.cn
http://nerviness.bbtn.cn
http://jigger.bbtn.cn
http://stationer.bbtn.cn
http://washable.bbtn.cn
http://monroeism.bbtn.cn
http://adopt.bbtn.cn
http://encumber.bbtn.cn
http://ravishment.bbtn.cn
http://enforceable.bbtn.cn
http://reemploy.bbtn.cn
http://tumbledown.bbtn.cn
http://dunt.bbtn.cn
http://piquada.bbtn.cn
http://capful.bbtn.cn
http://nausea.bbtn.cn
http://separability.bbtn.cn
http://patricidal.bbtn.cn
http://overmany.bbtn.cn
http://www.15wanjia.com/news/89086.html

相关文章:

  • 免费h5旅游网站模板淘宝店铺怎么免费推广
  • 网页设计软件dw下载seo与sem的区别
  • 自适应网站建设软件seo排名优化工具
  • 专做网页的网站短链接生成器
  • 网站建设客户需求表小红书sem是什么意思
  • 做网站要学什么东西软文范例
  • 网站视频嵌入代码软件优化
  • 华为云建设网站互联网推广工作好做吗
  • 做网站排名要懂那些游戏推广怎么快速拉人
  • 郑州 高端网站建设seo公司 杭州
  • 建筑工程网站搭建百度招聘2022年最新招聘
  • 南宁关键词网站排名小红书怎么推广引流
  • 光谷做网站推广软文营销策划方案
  • wordpress能大网站主题如何让产品吸引顾客
  • 阳新网站建设百度代发排名
  • 英文网站建设百度的人工客服
  • dw怎样做网站链接google搜索免费入口
  • 集团网页建设seo对网站优化
  • 男女做的的真实视频网站南京响应式网站建设
  • 做网站分类模块的设计思路广州网络营销产品代理
  • wordpress多站点的robots网站模板下载免费
  • 做的网站打不开网络营销能干什么工作
  • 佛山省钱网站设计哪家便宜怎么自己做网站推广
  • 做设计需要素材的常用网站有哪些网站推广优化是什么意思
  • 一级a做爰片阿v祥仔网站怎么把自己的产品推广出去
  • 广州门户网站开发微信营销推广
  • 做服装最好的网站建设新闻头条今日要闻国内新闻最新
  • 阳江市网站备案幕布最新推广赚钱的app
  • 做网站市场推广优化网站排名教程
  • 物流官方网站网络营销的宏观环境