一、为什么要三门语言一起学?
- 多门语言一起学习,有利于提升语言学习的触类旁通能力。现代开发语言非常丰富,很多应用场景或问题的解决,需要多种语言配合,有了触类旁通的学习能力,当需要接触一门新语言时,上手会比较快。另外,由于不同语言的相似性,多种语言开发时,会经常短路错位,这里也算是一个快速查询的目录。
二、为什么选了C#、TS和Dart?
- 完全基于实用主义。作为个人开发者和小微团队,基本上都需要全栈开发。而基于C#的.NET是后端的最优选之一,而前端框架使用过Blazor、WPF/MAUI、Vue、Flutter和小程序,所以选了C#、TS和Dart。
三、简单说一下C#、TS和Dart这三门语言?
- C#是完全面向对象的强类型语言,对标的语言是Java,无论语法还是底层原理,都非常相似。性能以及语法特性上,C#是能够胜过Java的,但在使用的广泛度上,C#明显要弱于Java,尤其是在国内。两者都主要用于后端开发,但也都有涉及前端。而C#的前端框架非常丰富,包括MVC、Blazor、winform、WPF、MAUI等。 TS是JS的超级。
- TS在JS原型对象的基础上,扩展了静态类型、类、接口、泛型等功能,使JS在开发环节具备了完全面向对象语言的特性,非常有利于构建大型应用。但在运行时,仍然是通过编译器将TS转译为JS执行,本质上还是JS。现代前端UI框架,如Vue、React等,都已全面转向TS(javascript的后端框架nodejs,也已支持TS)。
- Dart结合了面向对象语言(如C#/Java)和JS的特性,如静态类型、类、泛型等,接近于C#/Java;而变量和函数又都是顶级成员(可以在类以外定义和使用),接近于JS。同时,Dart支持JIT和AOT两种编译模式,在开发阶段使用JIT,能有效提升开发效率(如Flutter的杀手锏-热重载),而在部署阶段,通过AOT编译为目标平台的机器码,包括了dart2native(原生平台)和dart2js(javascript)两种方式,兼顾了开发效率和运行性能。Dart目前主要用于Flutter跨平台前端UI框架,早期Dart作为JS的替代者出现,但现在可以说,它就是为Flutter而生的一门语言。
四、会有深入原理性的内容吗?
- 比较少。一是怕讲不好;二是我认为掌握了使用,原理层面的东西大概就知道七七八八了,而剩下的20%,通过看不同的文章和案例,以及日后实际开发过程中,接触到不同的开发框架时,会一下顿悟。
五、目录:
1 概述
2 学习环境搭建
3 变量和作用域
4 类型
4.1 类型概述
4.2 基本类型:数值
4.3 基本类型:布尔
4.4 基本类型:字符/字符串
4.5 集合类型
4.6 枚举
4.7 结构体
5 函数/方法
5.1 函数的声明和调用
5.2 函数的返回值
5.3 函数的参数
5.4 函数表达式、委托和typedef
5.5 闭包和委托捕获
5.6 扩展方法
6 表达式、运算符和语句
6.1 表达式和字面量
6.2 运算符
6.3 特殊运算符
6.4 运算符重载
6.5 判断和循环语句
7 类基础
7.1 类的声明和使用
7.2 静态类和实例类
7.3 类的成员
7.4 构造函数
7.5 访问修饰符
7.6 嵌套类
8 类高级
9 接口
10 泛型
11 异常
12 异步
13 事件
14 常用库
14.1 字符串
14.2 日期
14.3 Math
14.4 RegExp
14.5 JSON
14.6 迭代集合
14.7 文件操作
14.8 Web请求
15 其它
15.1 反射特性-C#
15.2 装饰器-TS
15.3 元数据-Dart
15.4 联合类型-TS
15.5 原型链-TS
15.6 并发isolate-Dart
15.7 索引器-C#
15.8 类型转换
15.9 多维数组
15.10 位移运算符
15.11 协变和逆变
15.12 ......
标签:语言,C#,TS,JS,运算符,Dart From: https://www.cnblogs.com/functionMC/p/17043869.html