热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软工大作业·倾物语(二)

文章来源:中国软工亚洲指挥中心(Steins;Gate)共同作者:纪神,爵爷,老板,小男孩(按首字拼音排序)责任编辑:爵爷本周末我们组已经完成了《需求规格说明书》和《可行性分

文章来源:中国软工亚洲指挥中心(Steins;Gate)
共同作者:纪神,爵爷,老板,小男孩(按首字拼音排序)
责任编辑:爵爷

    本周末我们组已经完成了《需求规格说明书》和《可行性分析报告》两份书面材料,具体内容见提交的文档。

    这次想聊一下我们团队对于之后开发工作的构想。

    就大的方面来说,我们在前端尽量使用现成的解决方案,并配合手写“胶水”,后端使用LeanCloud解决方案。

    前端要展开有非常多的东西,因为Android的前端比HTML更加底层一点,要涉及的东西更多,考虑的面也更广,加之运行在移动平台,限制也颇多。
    但是在参考现有解决方案(比如这个)以及基于我们之前的开发经验上,前端是可以跌跌撞撞地走的(当然是在不考虑外行的设计、咄咄逼人的PM、永不满足的客户的情况下)。
    至于为什么不使用FB的react-native或是MUI等来做跨平台的界面,一是在性能上H5相对原生仍有不足,并且这一点在Android版本和手机性能差异极大的安卓市场上更为明显,二是一个移动端的应用无论干什么顶部都有一个小绿条咕咕咕地动在我们看来非常难受(纯个人观点)。因此我们考虑只在一些不重要的信息展示界面和时间上来不及的扩展功能上使用H5,其他情况仍然使用原生API开发。
    还有就是JetBrains(笔者免费IDE的提供商,因为有教育账号)的亲儿子Kotlin,笔者没有深入了解,但是简单看了一下,第一感觉就是好玩,还没有感受到特别强大的地方(当然是了解非常不足),基于学习成本的考虑,我们还是使用了Java来作为主开发语言。

    后端我们使用现成且强大的解决方案LeanCloud。笔者多次被问到过“用LeanCloud这么简单方便甚至可以说是无脑的东西,还算是程序员吗?”。这种想法笔者之前也有过,但是如果不接受更快更好更方便的东西(并不是说LeanCloud就一定是这样,LeanCloud的适用场景其实限制还是蛮大的,这里不展开。但是相对于我们目前的开发需求,LeanCloud就是这样的),我们现在想用计算机还得在竹简上钻孔呢(笑)。另外笔者琢磨过算法,写过汇编优化的编译器(特别指明:最后什么都没做出来),也裸写过socket以及RESTFUL,所以对于“不方便”的东西笔者多少还是有发表意见的权利的。出于学习目的或者对于要求特别严格的解决方案,唯有从底层慢慢写,但是就目前的场景来看使用LeanCloud是非常好的选择。应该针对不同的开发需求使用不同的方案,这就是我们使用LeanCloud的原因。

    另外在开发上,我们目前的想法是先下手开始写代码,而不是先做细致的设计。因为目前团队整体的项目开发经验是不太够的,没有足够经验的支撑,一上来就做细致的设计很有可能会忽略了重要的东西而把精力放在了其实无足轻重的地方,而且做出的设计并不一定效果有多好(编者个人认为可以参考Java第一代UI库的设计)。当然先写代码并不是说“先写了代码再提取设计以完成任务”,而是先用粗糙的代码把流程简单走一遍,探探路上都有什么坑,然后再回头做设计,这样心里会踏实很多,设计结果也会更加可靠。这也是我们这个月的主要任务:做第一版最小化原型。

    目前编者已经搭好了基于Viewpager的Swipe View以及4个Fragment作为主界面,下周先分工把这四个主界面按照原型设计做出来。然后依次跟进其他代码任务。下面是应用效果以及项目规模统计(是的我知道很丑,请不要再吐槽→_→)。
这里写图片描述


项目统计


推荐阅读
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文将详细介绍多个流行的 Android 视频处理开源框架,包括 ijkplayer、FFmpeg、Vitamio、ExoPlayer 等。每个框架都有其独特的优势和应用场景,帮助开发者更高效地进行视频处理和播放。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 本文总结了优化代码可读性的核心原则与技巧,通过合理的变量命名、函数和对象的结构化组织,以及遵循一致性等方法,帮助开发者编写更易读、维护性更高的代码。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文探讨了如何在 Pug 模板中正确地使用 JSON 插值,并解决了相关文档不足的问题。我们将介绍通过 gulp-pug 处理 JSON 数据的具体方法,以及如何在模板中插入和显示这些数据。 ... [详细]
  • 本文介绍了如何在 C# 和 XNA 框架中实现一个自定义的 3x3 矩阵类(MMatrix33),旨在深入理解矩阵运算及其应用场景。该类参考了 AS3 Starling 和其他相关资源,以确保算法的准确性和高效性。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 版本控制工具——Git常用操作(下)
    本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 深入理解TCP/IP协议中的MTU与MSS及以太网数据帧
    本文详细探讨了TCP/IP协议中MTU(最大传输单元)和MSS(最大分段大小)的概念及其在以太网数据帧中的应用。通过分析这些关键参数的工作机制,帮助读者更好地理解网络通信中的数据包处理过程。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
author-avatar
黑_猫__警_长
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有