实战

实战 Flutter 象棋从零到上架

独立开发工程师,多年产品人

544人已买
详情
目录(24)

专栏亮点

  • 基于真实项目「棋路」的开发历程形成专栏,不是市面上的各种「HelloWorld」;
  • 专栏内容包含其中的每一和代码,都得到了两次验证,跟随我们的专栏,定能达成目标;
  • 真实项目环境中遇到的大量问题,专栏中都给出了实用的解决方案;
  • 对开源的 C++ 引擎的包装和混编,有大量市面上找不到的经验和方法。

为什么应尽早学习 Flutter

这个世界已经有太多的框架,我们为什么需要学习一种新的?

简单点来回答这个问题 —— 效率!

  • 跨平台的解决方案,做一套应用,可以在 iOS、Android、WEB、MacOS、Windows 多端运行
  • 基于 Dart 语言建立的原生绘图性能,超越 Hybrid 方案和其它 JS 翻译方案;
  • 调试期间的热加载,不需要每次都编译代码,能极大地提升开始发效率;
  • 更先进的界面布局理念,上手后做同样的界面花费的代价低于 iOS 或是 Android;

掌握前沿的技术,顺应技术演进的趋势,抱紧 google 的大腿,现在就是上路的时候了。

现在学习 Flutter 的常见痛苦

  • 看了官方的文档和教程,感觉是大师的理论堆砌,与手上的项目无法关联起来;
  • 中文的 Flutter 教程也真不少,但都是一个一个的 Demo,没有深入的应用了讨论;
  • 自己尝试使用 Flutter 开发时,遇到一些坑点时,无认帮忙,各种教程从未提到这些复杂场面;

我们的专栏中完整跟进了「棋路」象棋游戏在开发中遇到的各种问题,尝试解决问题的方式不限于 Flutter 或 Dart,而是实用为王。从真实项目的,你能得到语言或框架以外的经验和知识。

专栏组织

h252YV

busNgZ

专栏涉及到的主要技术

以下的专栏中涉及到的主要知识点,以及推荐的学习资源:

  • Dart 语言知识

    Dart 语言容易学习和使用,如果你学习过 C++ 或是 Java,学习 Dart 将非常容易和快捷。可以试看 GitChat 专栏《Dart 入门实践》,你能在几个小时内掌握 Dart 语言的精义。

  • Flutter 开发技术

    如果你有过 iOS 或 Android 的开发经验,亦或是你有 Ionic 或 Web 开发经验,则完全不用担心 Flutter 的入门问题。即使什么开发经验都没有,Dart 的入门也是容易的。使用中文的 Flutter 官方文档,是 Flutter 入门的好办法。

  • iOS 和 Android 开发基础知识

    我们要做的是跨平台的游戏 App,对 iOS 和 Android 开发有基本的了解是很有帮助的,但这并不是这个专栏的前提。我们的专栏中除了单机引擎部分调用了 C++ 原生引擎、需要在 iOS 和 Android 平台上进行少量混合开发外,其它的内容都是在 Flutter 环境下实现的。即使你没有 iOS 和 Android 开发基础,跟着我们的专栏指示,你也能完成全部的开发任务。

    如果你想要系统地学习 iOS 开发技术,那么以下这些链接将给你绝佳的入门引导:

  • Swift5 语言简介

  • Swift 语言 Getting Start

  • Start Developing iOS Apps (Swift)

    如果你有志于系统地学习 Android 开发技术,那么以下这链接你也千万别错过:

  • 百度搜索:《Thinking in Java》电子版

  • 构建你的第一个 Android 应用

  • Android 开发者指南

  • Android 官方开发示例

  • Android 开发技术

  • C/C++开发技术

    专栏中将使用 C++ 语言实现的人机对战引擎来做电脑端的大脑,如果有一定的 C++ 基础,将有利于你得更好地理解象棋对战引擎的实现原理。这当然不是学习这门专栏的前提。即使没有接触过 C/C++ 语言,你不会阻碍你顺畅地学习我们的专栏。

  • 百度搜索:《Thinking in C++》电子版

  • 菜鸟 C++基础教程

  • Nodejs / Koa 开发技术

    Nodejs 技术栈非常流行,其生态也是枝繁叶茂。

    我们的专栏并不要求你掌握 Nodejs 技术栈的知识,但 Nodejs 学习和应用极简单明快,是我技术学习过程中最愉快的一段经历了。我推荐大家课后学习 Nodejs 技术;作为一个现代的开发人员,不应该对如此活跃的一个生态一无所知。

    Nodejs 和 Koa 的学习,建议直接去官网:Koa 的首页文章对你理解和入门 Koa 极有帮助。

不必担心自己尚未掌握这些技术点,我们专栏的每一个环节都呈现了可执行的代码和指令,这些代码都经过了作者的至少两轮从头到尾的验证。

只需要跟着专栏的脚步,一步一步地往下走,在实践中去做、去体会,理论正是来自于实践的。

实践中你将收获

跟随我们的教程,实现中国象棋的游戏过程,你将学习到以下知识点:

Flutter 基础知识

  • 组件及布局知识
  • 手势检测
  • Http 通信
  • Canvas 绘制
  • Method Channel 与原生应用通信
  • 动画技术要领
  • 音乐、音效
  • 用户本地配置解决方案
  • 多种设备屏幕适配

象棋软件开发知识

  • 象棋的基本规则
  • 象棋着法枚举和有效性判断
  • 长捉和胜负检测
  • FEN 局面表示
  • UCCI 引擎通信协议
  • XQF 象棋棋谱格式的解析

Native 开发知识

  • 在 iOS 和 Android 中访问 Flutter 资源包
  • iOS 中 Object C 与 C++ 的混合开发
  • iOS 的多线程通信
  • Android 中 Java 与 C++ 通过 JNI 协同
  • Android 的多线程通信

产品设计知识

  • 用户需求提炼
  • 交互设计

一个完整的产品涉及到的细节比较多,有些特定场景到我们遇到时再和大家分解。

目标读者

现实当中,每一个真实产品的开发过程几乎不可能只使用一种技术、甚至一套技术栈,正是由于这个原因,许多开发人员学习了某种语言的一系列专栏、完成一系列专栏中的 demo 后,并不能实际完成公司或项目组交给的真实项目任务,这正是纯理论专栏的短板!

我们的专栏反映了真实项目的众多细节,中间的衔接与各种技术的综合运用来自于长期的项目实践,接近并学习这些知识,能快速地提升你独立完成真实项目任务的能力。

  • 如果你是开发界的新兵,学习我们的专栏将助你在实际中学习 Dart/Flutter 综合应用能力,关键能提升你对互联网产品的整个生命周期的理解。

  • 如果你已经是经验丰富的开发老兵了,跟随这个专栏你除了能学习到一些具体问题的解决方法外,还将学习到解决问题的更多思路、各种设计模式与开发的流程。

  • 如果你是学生,将会发现这个专栏和你以前读到的各种课本完全不同,它实用而不教条,在带给你难得的项目实践经验的同时,助打开广阔的技术视野。

关于作者

贺照云,曾就职于腾讯、联想软件、360;十年开发经验、十年产品策划经验; 熟悉 C++、Java、JS、Swift、Dart、Groovy 等多种语言;熟悉 J2EE/Nodes/Android/iOS/Windows 等多种开发平台;

f6lmDW

订阅须知

  • 本专栏为图文内容,共计 24 篇。
  • 本专栏为虚拟产品,一经付费概不退款,敬请谅解。
  • 本专栏可在 GitChat 服务号、App 及网页端 gitbook.cn 上购买,一端购买,多端阅读。

订阅福利

  • 订购本专栏可获得专属海报(在 GitChat 服务号领取),分享专属海报每成功邀请一位好友购买,即可获得 25% 的返现奖励,多邀多得,上不封顶,立即提现。

  • 提现流程:在 GitChat 服务号中点击「我-我的邀请-提现」。

  • 购买本专栏后,服务号会自动弹出入群二维码和暗号。如果你没有收到那就先关注微信服务号「GitChat」,或者加我们图上的小助手微信进行咨询。(入群方式可查看第 3 篇文末说明)。

购买须知

  • 本课程内容版权归北京码字科技发展有限公司独家所有,未经授权,不得转载。
  • 本课程为虚拟产品,一经付费概不退款,敬请谅解。
  • 添加 GitChat 助教俏俏(微信 ID: gitchat2025),加入免费技术交流群。
× 订阅 Java 精选频道
¥ 元/月
订阅即可免费阅读所有精选内容