首页
学习
活动
专区
圈层
工具
发布

开源 | 携程机票跨端 Kotlin DSL 数据库框架 SQLlin

用户在使用 Room 时仅需要通过 DAO set/get 对象即可。 不过它也有一些问题。...例如:查询操作与按条件的更新和删除操作,用户仍然需要编写 SQL 语句,这些 SQL 语句虽然 Android Studio 提供了高亮,但是仍然是以字符串的形式存在,不受编译器静态类型检查。...2.2.2 Exposed Kotlin在正式发布时有一个主力卖点就是可以用来构建开发者自己的DSL。Exposed(参考链接 5)是当时官方宣传DSL的范例项目之一。...以当年的角度来看,Exposed 的 API 算是相当惊艳。...但总的的来说 Exposed 的设计思路的方向非常棒,使用 Kotlin 语法构建自己的 DSL API,对用户来说使用方便,且只要充分利用其潜力,API 也能设计的非常优雅。

2.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    又一巨头放弃 Java ,拥抱 Kotlin !

    Meta 的 Android 代码库总共已包含有超过 1000 万行的 Kotlin 代码。作为此次迁移的一部分,Meta 透露其也正在开源用于操作 Kotlin 代码的各种示例和实用程序。...在一些复杂的情况下,Kotlin 的空检查省略还可能漏掉空值通过,进而引发空指针异常。例如,如果 Kotlin 代码调用由 Java 接口实现的 Kotlin 接口,就会发生这种情况。...而在尝试为现有应用程序引入 Kotlin 时,Meta 也遇到了很多麻烦,例如需要更新 Redex 以支持 Java 不生成的字节码模式。...例如代码审查或 wiki 中缺少 Kotlin 语法高亮显示。“我们更新了我们正在使用的库 Pygments,以使体验与 Java 相媲美。我们更新了一些内部代码修改工具,以便能够处理 Kotlin。...我们的代码库中已经有超过 1000 万行 Kotlin 代码,而且 Meta 的大多数 Android 开发人员现在都在编写 Kotlin 代码”。平均而言,此次迁移使代码行数减少了 11%。

    1K30

    Duolingo 和 Google Home 的 Kotlin 之旅

    Duolingo 是世界上最受欢迎的语言学习平台之一,也是 Google Play 上下载量最高的免费教育应用之一 (已突破 2 亿),为超过 3 亿名学习者提供可免费使用的语言学习服务。...随着应用自身的演进,Duolingo 的 Android 开发者发现代码库的代码行数每年增长 46% 之多!为彻底解决这个问题,团队最终一致决定从 Java 迁移至 Kotlin。...该团队中经验丰富的 Kotlin 开发者担任 "Kotlin 检查员" 角色,并分享代码审核方面的最佳做法,最终该团队的所有 Android 开发者都成为了 Kotlin 专家。...他们发现, 将 Java 文件转换为 Kotlin 文件后,代码行数平均减少了 30%,某些情况下高达 90% 。 ?...此外,还可以自动生成并及时更新均衡和解析方法。使用 Kotlin 中提供的实用方法,还可以简化许多嵌套循环和过滤检查。

    1.4K20

    又一巨头从Java迁移到Kotlin:关键应用全部开始切换、安卓代码库超过千万行Kotlin代码

    例如,团队得更新 Redex 才能支持 Java 无法生成的字节码模式。另外,其使用的某些内部库要求在编译期间进行字节码转换来获取更好的性能。...例如,代码审查和 wiki 工具无法对 Kotlin 语法进行高亮显示。“我们还更新了之前使用的 Pygments 库,确保其体验与处理 Java 代码时一致。...我们更新了一些内部代码修改工具,使其能够支持 Kotlin。我们也构建了 Ktfmt,一款基于 google-java-format 编码理念的确定性 Kotlin 格式化程序。”...这是个常见问题,论坛上面也已经有成熟答案:要么在字段中添加“@JvmField”;要么在注解中添加注解 use-site,也就是“@get:Rule”: // 方案一:使用“get”作为注解的...虽然不是很多,但希望能帮助更多开发者利用 Kotlin 编译器解析器高效完成工作。 下一步 平均而言,Meta 发现迁移后的代码行数减少了 11%。

    1.1K30

    又一巨头从 Java 迁移到 Kotlin !

    Meta 的 Android 代码库总共已包含有超过 1000 万行的 Kotlin 代码。作为此次迁移的一部分,Meta 透露其也正在开源用于操作 Kotlin 代码的各种示例和实用程序。...在一些复杂的情况下,Kotlin 的空检查省略还可能漏掉空值通过,进而引发空指针异常。例如,如果 Kotlin 代码调用由 Java 接口实现的 Kotlin 接口,就会发生这种情况。...而在尝试为现有应用程序引入 Kotlin 时,Meta 也遇到了很多麻烦,例如需要更新 Redex 以支持 Java 不生成的字节码模式。...例如代码审查或 wiki 中缺少 Kotlin 语法高亮显示。“我们更新了我们正在使用的库 Pygments,以使体验与 Java 相媲美。我们更新了一些内部代码修改工具,以便能够处理 Kotlin。...我们的代码库中已经有超过 1000 万行 Kotlin 代码,而且 Meta 的大多数 Android 开发人员现在都在编写 Kotlin 代码”。平均而言,此次迁移使代码行数减少了 11%。

    68620

    Kotlin开发指南

    Kotlin可以无缝和Java代码互相调用,并且极大的提升开发效率,以改写的24小时节目单逻辑类ProgramListLogic为例,java代码行数为415行,用kotlin改写后减少到了329行,减少...中还有许多简化代码优的优化点,类似于自动生成set/get, 字符串拼接,when语法,内置了很多的操作符等等,这些都大大减轻了我们的工作负担。...这个freeline库在新版本中已弃用,不会再有这个问题。...2、直接Convert Java File to Kotlin File带来的坑  在接口中如果有定义get方法 InsertPic_B3AF(0(07-28-14-43-13).png 因为Kotlin...是对属性自带set,get方法的,在转换为kotlin后会被转换成这样 InsertPic_D27D(0(07-28-14-43-13).png 如果实现接口的类中,之前有个成员变量也是title InsertPic

    2.5K40

    Java高并发秒杀API(二)之Service层

    浏览) DAO拼接等逻辑在Service层完成(DAO只需负责SQL语句,其他都由Service层完成) 一些初学者容易出现的错误,就是喜欢在DAO层进行逻辑的编写,其实DAO就是数据访问的缩写,它只进行数据的访问操作...com.lewis.service包,用来存放Service接口;在src/main/java包下建立com.lewis.exception包,用来存放Service层出现的异常类:比如重复秒杀异常、秒杀已关闭异常...; } public Exposer(boolean exposed, long seckillId) { this.exposed = exposed; this.seckillId...boolean exposed) { this.exposed = exposed; } public String getMd5() { return md5; }...上一篇文章:Java高并发秒杀API(一)之业务分析与DAO层 下一篇文章:Java高并发秒杀API(三)之Web层 警告 本文最后更新于 October 5, 2017,文中内容可能已过时,请谨慎使用

    78420
    领券