zoukankan      html  css  js  c++  java
  • 那些年做过的 .NET Web 项目和 iOS 之路的一些思考

    从2010年3月份出来工作到2015年初,做过的大大小小的 .NET Web 项目如下:

    (1)售楼系统产品    「Role: Team Member」

    (2)中弘合同管理系统    「Role: Team Member」

    (3)Gammon Portal 金门建筑内部门户    「Role: Team Leader」

    (4)Hopewell Portal 合和实业内部门户    「Role: Team Leader」

    (5)ICAC-IMS 资产管理系统    「Role: Team Member」

    (6)公司内容展示网站    「Role: Stand-alone Developer」

    (7)广州地铁协同办公平台    「Role: Team Member」

    (8)广州地铁子公司中咨门户    「Role: Stand-alone Developer」

    (9)湛江市人民政府网站    「Role: Team Member」

    (10)广之旅在线系统    「Role: Team Member」

    当然,之前读大学也做过不少“项目”,这些“项目”对比起工作的实际项目来说,更像是一些没有多少商业价值的“玩具”,这里就不值得一提了。然而他还是有点用的,在学生时代,通过去学习去实践去总结经验,不断巩固了自己 Web 开发的基础,从而从学生人群中脱颖而出。

    从2014年下半年开始关注 iOS 技术,遇到过从 .NET Web 到 iOS 过渡期的问题:

    值得每位面临同样处境的朋友发自内心去思考去寻找答案,而我提交的答卷如下:

    (1)作为一个从事 .NET Web 工作多年的老手来说,为什么要选择从事 iOS 当新手呢,iOS 有哪些优点和价值吸引你?

    • 商业市场价值:使用过 iPhone 和 iPad,从外观到用户体验,Apple 追求极致美,用心去做好产品,值得我们学习。虽然乔帮主已西归,但库克商业化头脑领导的时代注定 Apple 还能持续风光好多年。移动互联网的发展还在持续,移动端的便捷性给人们生活带来更多方便。

    • 规范化:App Store 统一的官方市场,严格规范化的审核制度让 App 质量得以保证,间接对我们提出更高要求,让我们用心做好每一款产品。

    • 个人价值:选择了从事 iOS 工作,并不意味着「鱼与熊掌不可兼得」就此抛弃多年的 Web,相反的,他们之间是相辅相成,PC 与移动端的结合。所谓技多不压身,多学习一门技术,多一条出路。

    • 个人技能:每年的 WWDC 介绍 Apple 开发技能的新东西,能让我们不断学习充电。Apple 的官方开发文档都是英文,GitHub 里 Open Source 的项目极大部分也是英文,能让我们学习提高英文水平。GitHub(Git 源码管理)和 stackoverflow(IT 知识问答)这样的国际化平台,让我们与全世界开发人员联系在一起,互相学习交流,提高了我们的知识和眼界。

      追求:「跟优秀的人在一起,成为更优秀的人」

    • 个人未来发展:当拥有多年的 iOS 和 .NET Web 工作经验后,考虑往系统架构师、技术经理方向发展。也许将来有机会出来开工作室或者创业时,这些经验能在技术的层面上提供不少帮助。

    (2)多年的 .NET Web 开发经验,有哪些是对 iOS 开发有帮助的?

    • 面向对象的编程思想:「封装、继承、多态」,编写代码更加规范化,可维护性更高

    • 设计模式:比如「MVC模式」、「观察者模式」「单例模式」、「工厂模式」等等

    • 算法和数据结构:比如「冒泡排序」、「二叉树」、「递归查询」、「哈希表」、「堆栈」等等

    • 多线程与锁:「多线程」与「NSThread」、「线程池」与「NSOperation」、「异步调用」与「GCD」

    • 数据库存取:「SQL」与「SQLite」、「Entity Framework」与「CoreData」、「EnterpriseLibrary」与「FMDB」

    • 网络交互:HTTP 请求响应流程、XML 和 JSON 数据格式解析、Web API 设计规范

    • 布局约束:CSS+DIV 知识,涉及相对定位和绝对定位、层级关系、内外边距和边框的盒子模式

    • UIWebView:JS、jQuery、CSS+DIV、HTML5

    • Delegate 和 Block:委托代理、JS 的闭包

        以上经验只是思路或者知识点类同,在 iOS 中具体的实现是大不相同的,iOS 中还有很多知识点是 .NET Web 开发中没接触过的,未知的知识领域还有很多很多。Work hard, add oil.「More coding, more thinking. Stay hungry, stay foolish.」

  • 相关阅读:
    RocketMQ
    Docker的基本使用
    logstash、ELK
    spring cloud杂文总结
    手写一个starter
    @SpringBootApplication你知多少?
    使用ElasticSearch
    ElasticSearch安装
    啥是ElasticSearch???
    socket、端口、进程的关系
  • 原文地址:https://www.cnblogs.com/huangjianwu/p/4536122.html
Copyright © 2011-2022 走看看