现代网络开发
与国际市场相比,埃及软件开发市场缺乏专家人才。在本课程中,我们将涵盖 Web 开发领域最新的稳定软件开发实践、项目架构、设计模式和技术。
本课程面向那些打算从事软件开发职业,或者想要为初创公司创建低成本 MVP 的人。完成本课程后,您应该熟悉当前的技术水平,能够对您的开发堆栈做出明智的决策。
本课程的结构很大程度上是出于这样一种观念:新手开发人员开始采用框架和使用库,而没有批判性地思考该工具是否适合该工作。
课程流程
- 本课程将由13节课组成
- 每节课分为练习和讨论两部分
- 在练习过程中,您将解决课程作业
- 在讨论期间我们将讨论下一个作业
- 讨论的所有概念都记录在作业中
- 我将解释不清楚的概念
- 每次课程结束后,我都会根据我们的进度更新课程材料。
- 每项作业占 10%,因为我必须在某些方面给你打分。
- 完成后授予成绩(我认为已完成)。
- 作业在课程期间进行评分。
- 根据完成程度,成绩可以是部分的。
- 考虑最佳 10 项作业
- 最好在会议之前阅读或开始解决作业。
- 如果您无法完成作业,您可以获得在下一个练习时段之前完成作业的许可。
- 第一场会议仅是讨论会议。
- 最后一节课只是作业课。
- 我们都应该在课程结束时吃披萨。
你将需要
- 带有 bash shell 的笔记本电脑(基于 Unix 的操作系统或带有 ubuntu 终端的 Windows 10)
- 现代浏览器,例如最新的谷歌浏览器
- 互联网
- NodeJS
- git
- 文本编辑器,例如 Atom
课程时间
在本课程中我们将介绍
1. Web 应用程序历史
在本次会议中,我们将讨论开发人员可以学习的现有知识以及我们将在本课程中涵盖的内容。
- 设定对课程的期望。
- 我们将要解决的问题。
- Web 应用程序历史记录。
- 使用 babel 和 node 设置 ES6 项目
- 网页包
下次布置作业
- 构建一个简单的 Web 应用程序,无需任何库
- 我们面临的基本问题
- 将代码拆分为单独的文件
- OOCSS 和 BEM
2. 现代应用程序的生命周期:数据呈现视图
在本次会议中,我们将从回顾基本的 Javascript 功能开始,并介绍函数式编程概念。
- 弹性盒
- es6 功能模板字符串
- 将数据渲染为 html 的组件
下次布置作业
3. 现代应用程序的生命周期:操作更新数据
- DOM 事件
- 确定我们的代码范围
- 使用观察者模式进行基于事件的编程
下次布置作业
4. 现代应用程序的生命周期:测试
- HTML 渲染单元测试
- 纯函数
- 国营商店
- 模拟和存根
- 依赖注入
下次布置作业
- 测试我们的渲染函数
- 测试我们的行动调度程序
- 测试我们改变商店的行为
5. 现代应用程序的生命周期:视图触发事件
- NodeJS:模块
- 构建工具:gulp
- 渲染虚拟 dom
- 运行我们的测试任务
- 浏览器化
下次布置作业
- 开发一种称为计数器的新型待办事项
- 现在可以编辑待办事项
6. 现代应用程序的生命周期:异步代码
- JavaScript 事件循环
- 承诺与获取
- 使用 Express 创建一个简单的 REST 服务器
- 插座
- 异步
- 反应式编程
7. 持续集成和部署
- 使用 Git 页面的前端 * 抵制 Git * 使用 CI 在 github 上部署代码 * 使用 Nginx 进行 SSH 并进行加密
- 使用 Capistrano 的后端(节点 Flight) * 使用 ssh 在服务器上部署 * 使用 CI 自动化我们的 git pull 请求接受 * 使用 Flightplan 进行部署
8. MVP 所需的一切
- 火力基地 * *
- 使用 Firebase 进行测试 **
8. 大规模应用程序的架构:问题
- 反应**
- 渐进式网络应用 * *
9. 大型应用程序的架构:框架
- 反应**
- GraphQL * *
10.React Native 脚本
- 设置 * *
- 推送通知*
11. 额外的损失时间
- 电子**
12. 额外的损失时间
笔记
#课程