【 声明:版权全部,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

喜欢apple的程序猿朋友对wwdc肯定不会陌生。本次wwdc上最大的一个亮点之中的一个就是swift。本来大家都清楚,在apple上开发应用基本上都是以objective c为主。可是自从apple宣布后面须要用swift进行支持和替换的时候,预计大家又得忙起来了又一次学习一下swift是怎么一回事了。好在apple十分贴心,早就给大家准备了一份教程,有兴趣的朋友此刻能够看起来了。

1)关于编程语言


从高中以来,我学的编程语言不算少了。从一開始的basic到大一的c、c++,学习数据库时用到的delphi pascal,web用到的php,研究生时用到的java、C#,以及后面自学的go、lua、objective c等等,大大小小加起来也有不下十种语言了。这些编程语言设计逻辑不一样,可是仅仅要对当中一两种精通之后,再学习其它的语言,难度曲线会小非常多。这次的swift也一样,提前看过的朋友说它和google的go语言非常像,更准备地说它相似于一种动态的脚本语言。这样说也没有错,我想apple的本意是减少开发的门槛,让很多其它有创意的人高速地开发出有意思的应用。

2)仅仅是一个前端


从前在pc上,人们习惯用mfc、vb上迅速开发应用。而在移动app上,互联网公司和软件公司给大家提供了更强大的前端开发工具。apple是这样,windows是这样,android也是这样。无论什么编程语言,作为应用来说,它最大的优点就是能够最快地进行前端的开发,用仿真器高速显示出效果。要是略微复杂一点的逻辑,要么系统帮你包办,要么client将数据通过socket发送给server,由server进行统一的判别和处理。所以说,移动client真正发挥出它优势的地方就是移动网络的參与和配合。

3)主要的逻辑没变


无论什么语言,除了主要的语法,大家还要了解控件的编写、数据库联系、socket互联、多线程訪问、image处理、音频视频的调用、传感器api的使用等等。上面这些内容事实上和语言本身没有什么关系,都是系统为上层app准备的资源。作为开发人员,大家须要考虑的就是怎样将创意用代码表达出来,用逻辑构建稳健而健壮的框架,而不是将精力花费在语言的细枝末节上面。

4)不变的服务端设计


无论什么client,输出的数据都要通过socket传到server进行处理。server代码的编写没有client那么花哨,永远都是socket accept、sql訪问、并发訪问、相互排斥管理、登陆验证、防止资源泄漏、数据压缩校验加密等等。大多数server都是在linux或者unix执行,这就是决定了c是主要的开发语言。当然也有人说python、go也能够,这当然要看个人的喜好了。

5)业务第一


坦白来说,如今没有纯粹的传统公司,也没有纯粹的互联网公司。传统的公司须要借助互联网这个渠道,而互联网也须要利用详细的业务进行生根发芽。无论是游戏、搜索、o2o、电子商务、门户站点、红娘、二手市场、团购,庞大的销售队伍是少不了的。当然你能够说国外怎样怎样,但这就是中国的国情。找不来风投,没有一定的现金流做保证,你肯定死的比谁都快。无论你卖的是流量还是道具,无论你对企业还是个人进行收费,无论你的商业模式是什么,我们要记住技术是为业务服务的,仅仅有真正给客户创造了价值,这种技术才是真正须要的技术。

随想录(从apple的swift语言说起)的更多相关文章

  1. 【转】从Go、Swift语言出发

    Google于2009年第一次提出了Go的构思,Facebook在去年春天引入了Hack,随后不久Apple也发布了其Swift语言. 在战争中,胜利者写历史书:在科技中,赢的公司都在写编程语言.互联 ...

  2. 赶时髦过了一遍Swift 语言....

    Swift 语言 2014年6月3日发布,替代OBJECT-C Swift is a new programming language for creating iOS and OS X apps. ...

  3. Swift - 语言指南,来自github学习

    @SwiftLanguage 更新于 2016-6-6,更新内容详见 Issue 55.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排 ...

  4. Swift语言简介+快速上手

    相关: Xcode 6 beta:https://developer.apple.com/xcode/downloads/ swift语言学习文档英文版:http://pan.baidu.com/s/ ...

  5. swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程

    swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 1.2.3  注册非免费苹果账号swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 免费的苹果账号在 ...

  6. swift语言实战晋级-1 Swift开发环境的搭建

    想要进行Swift的学习,必须要有个开发环境.简单的说就是装好了Xcode的Mac系统.那么接下来我们就简单了解一下这方面的内容. 1.1 下载Xcode Xcode是苹果公司出的编程工具,类似于微软 ...

  7. Swift语言学习之学习资源

    (1) http://swift.sh (2) Let's Swift – WRITE THE CODE. CHANGE THE WORLD. http://letsswift.com (3)http ...

  8. Swift语言Auto Layout入门教程:上篇

    原文:Beginning Auto Layout Tutorial in Swift: Part 1/2,译者:@TurtleFromMars 开始用自动布局约束的方式思考吧! 更新记录:该教程由Br ...

  9. 学习swift语言的快速入门教程推荐

    随着苹果产品越来越火爆,苹果新推出的swift必定将在很大程度上代替oc语言.学好swift语言,对于IOS工程师来讲,已经是一门必备技能. 有一些比较好的英文版教程,值得学习. 1. Swift T ...

随机推荐

  1. quick-cocos2d-x endToLua 退出会卡住

    问题: 马上赚钱,退出会出现卡住,然后清理,死界面的情况,百思不得其解,昨天在做push的时候,突然发现.在android里面弹出一个退出对话框,点击确定退出,这时候调用endtolua时,有时也会切 ...

  2. 构建安全的Xml Web Service系列之wse之证书存储位置

    原文:构建安全的Xml Web Service系列之wse之证书存储位置 我们在前几天对xml web service的安全性提出了一些建议,大家可以通过以下地址访问: 构建安全的Xml Web Se ...

  3. C#中对于float,double,decimal的误解

    原文:C#中对于float,double,decimal的误解 一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 如果我们在代 ...

  4. Effective C++ 条款44

    本节条款的标题是:将与參数无关的代码抽离templates 学习本节条款首先须要明确一件事情,那就是模板实例化的过程会不会反复? 我们来举个样例: #include<iostream> u ...

  5. POJ 2405 Beavergnaw (计算几何-简单的问题)

    Beavergnaw Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6203   Accepted: 4089 Descri ...

  6. codeforces Round #260(div2) D解决报告

    D. A Lot of Games time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  7. 系列三VisualSvn Server

    原文:系列三VisualSvn Server VisualSvn Server介绍 1 .VisualSvn Server  VisualSvn Server是免费的,而VisualSvn是收费的.V ...

  8. OpenCVR 有新成员 OpenCVV OpenCVC

    OpenCVC主要负责OpenCVR报名, OpenCVV支持Android IOS Mac Windows 的client 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  9. SUPPORTDIR引用的文件的加入

    上一篇转载了SUPPORTDIR的理论解释,如今截图说明实际操作: 选择依赖的语言,在右面的files框里右键点击,选择Insert Files插入文件,编译.由于安装得时候,压缩包会解压成一个暂时文 ...

  10. Repeater在无数据记录时显示暂无数据

    原文:Repeater在无数据记录时显示暂无数据 方法就是在FooterTemplate加个Label并根据repeater.Items.Count判断是否有记录.关键代码如下: <Footer ...