原文标题:Converting Plaid to Kotlin: Lessons learned (Part 1) 原文链接:http://antonioleiva.com/plaid-kotlin-1/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-11-03 经常有人问我用Kotlin语言编写Android APP有哪些优点.可问题是我从来没有直接将用Java语言开发的Android APP转到Kotlin语言,所以…
原文标题:Converting Plaid to Kotlin: Lessons learned (Part 2) 原文链接:http://antonioleiva.com/plaid-kotlin-2/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-11-17 我们在第一部分中所见的各种显著地改进,要归功于在Activity中使用了Kotlin语言.但是,由于主要是重载方法做些事情,仍然免不了一些公式化代码,所以这种类…
用React Native编写跨平台APP React Native 是一个编写iOS与Android平台实时.原生组件渲染的应用程序的框架.它基于React,Facebook的JavaScript的库,为的是构建用户接口,而并不是以浏览器为目标,它是以手机平台为目的. 换句话说,假设你是一个web开发人员,你能够使用React Native去编写干净.高速的移动APP,而且能够体会到熟悉的框架和单个的JavaScript的代码库. 在这之前,我们已经听到用诸如Cordova或者是Titaniu…
原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-overloading-kotlin/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-09-01 虽然Java 8中已包含一些函数式工具,且如你想象那样Android开发者还不能够立即(或许甚至根本不能)使用这些工具,但是如果…
过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton 在他的 Øredev 的讨论中,提到了 Kotlin 是如何通过提升安卓开发的语言特性和设计模式来解决这些严重的问题,通过这些方法你可以清除那些无用的 API 还有无效代码.充分利用扩展特性来解决你的开发中的模板性代码的问题!   为什么要推广这个语言?   好吧,大伙.欢迎来到这里.我们今天的主…
一说开发 iOS app,你立马就会想到苹果的开发语言 Objective C/Swift 和 Xcode.但是,这并不是唯一的选择,我们完全可以使用别的语言和框架. 一种主流的替换方案是 Xamarin,这是一个跨平台框架,允许你开发 iOS.Android 和 OSX.Windows app,它使用的是 C# 和 Visual Studio.最大的好处在于,Xamarin 允许你在 iOS 和 Android app 间共享代码. Xamarin 与其他跨平台框架相比有一个最大的好处:使用…
今天在CSDN首页偶然看到一个贴子JetBrains正式公布Kotlin 1.0:JVM和Android上更好用的语言 看完后,感觉Kotlin语法非常简洁,有一系列动态语言的特点,Lambda表达式.高阶函数.闭包,甚至有静态语言的类型检查,最核心的一点,写相同的功能.Kotlin 的代码量要少非常多. 下面是JAVA的一个数据类 public class Artist { private long id; private String name; private String url; pr…
郑昀编纂 关键词:Hybrid,Zepto,Fastclick,Backbone,sui,SPA,pushState,跨域,CORS click 事件还是 tap 事件? Zepto 的 show/hide 有时不靠谱 Android 下的跨域问题 pushState 调用失败也属于跨域问题 内部做 Hybrid App 开发历程也不短了,杨海波.潘军和刘勤红与前端组.App 组一起总结了不少宝贵的经验教训,逐步形成我们自己的标准打法.下面选了几个经验点(坑)做进一步解读.   0x00,cli…
空语句 Kotlin 语言中的空语句有 {} Unit when (x) { 1 -> ... 2 -> ... else -> {} // else -> Unit } When 表达式 使用不带判断条件的 when 表达式来改写多路分支 val v = if (x < y) 1 else if (x == y) 2 else 3 val v = when { x < y -> 1 x == y -> 2 else -> 3 } 使用带判断条件的 w…
类(classes) // 类声明 class Invoice { } // 空的类 class Empty // 主体构造器(primary constructor) class Person constructor(firstName: String) { } // 省略了关键字的主体构造器 class Person(firstName: String) { } // 主体构造器的代码必须写在init(初始化)代码块里面 class Customer(name: String) { init…