参加了南京 GDG 活动:这些精彩的技术讨论,值得与你分享~

GDG-NJ.jpg

一直以来发的文章大都是技术的,这次和大家聊点简单点的。

密集输出这几年,因为疫情没能在线下和大家碰面,去年又因为时间原因浪费了 Google IO China 门票。所以,今年的南京本地的 GDG DevFest 2023 活动一经上线,就报了名。

这次如愿见到了不少朋友,进行了面对面交流,非常赞!

跟大家分享下大佬们的演讲,以及值得探讨的技术问答。

遇见大佬 🫡

yenan.JPG

多次在线上听过叶楠老师的分享,从 FirebaseTensorFlow。这次线下见到了,互留了微信,果然如想象得一样:非常 nice、知识渊博。

叶老师此次分享的是应用出海,无私分享了他多年开发国际化 App 的经验。听的途中我不禁感叹中国市场的特殊性,迫使本土开发者需要做如此之多的更改才能适应国际的环境。

wangpeng&me.png

王鹏是我 Android 事业的引路人,我毕业的时候就跟着他共事,教会了我很多技术上的、工作上的东西。时至今日,我们都会针对技术难题、文章细节、求职方向等方方面面进行交流探讨。

说来惭愧,王鹏老师北上之后,与他好多年没见面了。这次我来参加活动有个重要的原因就是想和他碰个面。他还像我毕业那会儿一样:精神饱满、幽默,同时还保持着惊人的发量。

本次他分享的主题是 Kotlin 优势,我也了解到了 Kotlin 在 AndroidWeb 以外的领域亦有应用。PS. 他的 PPT 设计真得简洁、高级,和 Kotlin 一样!

shixin.png

张拭心老师的很多文章我都看过,尤其是最新的月度总结、周总结,我很敬佩他的自律和执行力。这次咱们交换了微信,惊奇地发现他也是我的读者,非常荣幸。

张老师本次分享的是 MAD,现代 Android 开发里念。在介绍这个理念里的多个技术以外,还带大家一起回顾了 Android 的历史、发展和未来。

当他翻到最后一页,呈现出历代 Android 的 logo 时,我感触颇深:这是 Android 的发展史,同时也是咱们 Android 人的青春啊!

朱凯.JPG

朱凯老师的视频,我估计 Android 圈子里大多都看过。他在 Kotlin、Android、Compose 等领域上的讲解通俗易懂、生动有趣。

本次他分享的是 Kotlin 协程,和网上的感觉一样:口才了得、富有感染力。

技术讨论 🤔

qa合影.JPG

因为是在南京大学主办的,所以大多数听众是大学生,但其实也来了很多“像我一样”的 Android 资深开发😄。

活动的间隙,大气热情地交流了几个很不错的技术问题,值得分享给大家。

鸿蒙来势汹汹,咋办?

鸿蒙来势汹汹,NEXT 计划将彻底移除 ART,不再兼容 Android。同时,推出了自己的编程环境、UI 框架。请教诸位 GDE,大公司们是否有鸿蒙这方面的布局,以及如何看待这个新领域?

GDE 回答:

其实都已经和鸿蒙的技术人员开始了接触,但进度啊、计划啊还不太清楚。

我的意见:

鸿蒙移除 Android 需要漫长的过渡时间,不是那么快能完成的。虽然鸿蒙上要求采用 JS/C++ 编程,但 IDE 仍然是和 IntelliJ 差不多的,其 API 设计、开发模式整体上和 Android 体系里很像。

所以,即便换了语言,Android 开发者切入进去有不少优势。

总之,不必恐慌,保持关注就行了。

Compose 应用到底咋样了?

Compose 正式发布已经过去了 2 年,如今 Google Play 前 1000 App 中已有 200 多采用了 Compose 商用,想了解下字节等国内大公司在 Compose 上的态度和计划?

(这其实是我提问的🙂,还混到了王鹏老师的亲笔签名赠书,算上新书发售时他送我的、回答拭心问题拿到的,这是我拿到的第 3 本 Jetpack Compose 书籍 😄)

GDE 回答:

已经对 Compose 进行了很多的调研,但大公司往往有自己封装的诸多 UI 框架、UI 效果库,切换到 Compose 成本高,也没有那么高强劲的需求。但一些新立项的 App 有在尝试 Compose 商用。

我的意见:

我印象中,海外像 Twitter 这样的大 App 早就开始部分或全部地改用了 Compose 技术。蛮佩服他们的,像这种级别的 App 同样也存在历史包袱,但他们就是这么勇敢(激进)!

国内大公司用的应该算少的,一些小公司可能会有商用的情况。我所在的公司有切入 Compose 技术的想法,所以我搁置了一段时间的 Compose 内容得重新看起来了💪。

Compose 性能劣化?

早期的 Compose 版本存在性能问题,采用 Scope 限制重组的办法是否有更优雅的方案?

GDE 回答:

Compose 确实在某些重组上存在性能劣化,采用 Scope 限制的做法确实存在,不必担心。

我的意见:

Compose 不断地迭代升级,性能在逐渐变好,估计未来官方会进行优化。

到时候就不用写这些迂回的代码了。

Kotlin 协程性能不佳?

对于 CPU 密集型任务,Kotlin 协程貌似性能并不好,没啥优势。GDE 是否了解,如何解决?

GDE 回答:

Kotlin 协程确实更适合 IO 密集型这种需要切换线程的场景。对于 CPU 密集型的场景,不能说差,只能说相对于 Java 不会有竞争性。

像你提到的性能不佳,极有可能是自己的代码导致的,需要认真分析下写法。

我的意见:

经验告诉我们代码表现不佳往往是调用得不好,逻辑存在问题。

但这不是 100% 绝对的,API 的实现、系统的运行存在 Bug 不是没可能的。

可以在排查自己的代码之后,如果确信没有问题,可以大胆地向 JetbrainsGoogle 报告 issue。

如果看待新技术?

面对 FlutterComposeMAD 甚至鸿蒙这些层出不穷的新技术,学生、工程师该如何抉择?

GDE 回答:

有些技术只是封装、不同实现,甚至是 KPI。而算法理论、计算机思想、数据结构这些基础的东西才是永恒的东西。

当你时间有限,方向不明的时候,可以问下自己是否基础已经打牢了。

如果确实 OK 了再考虑方向的问题。

我在 MAD 的文章中有过类似总结,贴出来、与你共勉:

面对新技术:

  • 不可无视,适当了解,跟上形势:保持关注,防止日后看不懂人家用了什么技术,甚至无法理解别人的代码
  • 拥抱变化,勇于尝鲜,有备无患:找个感兴趣的切入点虚心学习、体会新技术的动机
  • 不可依赖,了解原理,学习模仿:光使用还不够,需要深入了解其实现,确保坑来临的时候游刃有余
  • 是否深入,见仁见智,自行评估:适当取舍、甚至观望,一些技术是昙花一现的

明年再见 🤗

集体合影.JPG

今年是第一次参加线下的 GDG 活动,非常兴奋。结识了一堆大佬和读者之余,还跟 GDG 负责人建立了联系,说不定明年的 GDG Nanjing 会有我的身影。

其实,像 GDG 活动,只要有时间,建议大家尽量参加。在获得新知识的同时,还可以与圈子外的朋友交流,拓展自己的视野和影响力,同时还有一堆礼物可以领取。何乐而不为呢?

关于上述的技术问题,你有什么其他想法,欢迎在评论区留言~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/167987.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【EI会议征稿】第三届电子信息工程与数据处理国际学术会议(EIEDP 2024)

第三届电子信息工程与数据处理国际学术会议(EIEDP 2024) 2024 3rd International Conference on Electronic Information Engineering and Data Processing Welcome to the official website of 2024 3rd International Conference on Electronic Infor…

Windows系统搭建VisualSVN服务并结合内网穿透实现公网访问

目录 前言 1. VisualSVN安装与配置 2. VisualSVN Server管理界面配置 3. 安装cpolar内网穿透 3.1 注册账号 3.2 下载cpolar客户端 3.3 登录cpolar web ui管理界面 3.4 创建公网地址 4. 固定公网地址访问 总结 前言 SVN 是 subversion 的缩写,是一个开放源…

本地搭建Stackedit Markdown编辑器结合内网穿透实现远程访问

文章目录 1. docker部署Stackedit2. 本地访问3. Linux 安装cpolar4. 配置Stackedit公网访问地址5. 公网远程访问Stackedit6. 固定Stackedit公网地址 StackEdit是一个受欢迎的Markdown编辑器,在GitHub上拥有20.7k Star!,它支持将Markdown笔记保…

2023年【起重机司机(限桥式起重机)】证考试及起重机司机(限桥式起重机)模拟考试题库

题库来源:安全生产模拟考试一点通公众号小程序 起重机司机(限桥式起重机)证考试是安全生产模拟考试一点通生成的,起重机司机(限桥式起重机)证模拟考试题库是根据起重机司机(限桥式起重机)最新版教材汇编出起重机司机(限桥式起重机)仿真模拟考试。2023年…

API接口接入1688电商数据平台获取商品详情数据示例

1688电商数据平台是一个提供海量商品信息的数据平台,通过API接口可以方便地获取商品详情数据。以下是一个示例,演示如何接入1688电商数据平台,获取商品详情数据。 步骤一:注册1688账号并获取API权限 首先需要在1688电商数据平台…

大数据-之LibrA数据库系统告警处理(ALM-12057 元数据未配置周期备份到第三方服务器的任务)

告警解释 系统安装完成后会检查元数据是否有周期备份到第三方服务器的任务,然后每1小时会检查一次。如果元数据未配置周期备份到第三方服务器的任务,将发送严重告警。 在用户创建元数据周期备份到第三方服务器的任务后,告警消除。 告警属性…

【以图会意】操作系统的加载流程

声明:本图为博主方便自己记忆理解,诸多疏漏望请博友理性观看!如有错误不足恳请指正。 首先,操作系统是一段程序,他保存在ROM中,在开机时,CPU被激活,首先将IR置为BIOS(Bas…

【Reading Notes】

文章目录 中文AA 或 AAAAAAAAAAA,BBBBAAAA,BBBB,CCCCAAAA,BBBB,CCCC,DDDDAAAAAAAAAA,BBBBBAAAAA,BBBBB,CCCCC(肆)AAAAA,BBBBB&#xf…

【C/C++】递归算法

信封 某人写了n封信和n个信封&#xff0c;如果所有的信都装错了信封。求所有的信都装错信封共有多少种不同情况 #include <iostream> using namespace std; const int N 30; int n; long f[N];int main() {scanf("%d", &n);f[1] 0, f[2] 1;for (int …

SPDK NVMe-oF target多路功能介绍

基本概念 SPDK NVMe-oF target multi-path是基于NVMe协议的multi-path IO和namespace sharing功能。 NVMe multi-path IO指的是两个或多个完全独立的PCI Express路径存在于一个主机和一个命名空间。 而namespace 共享是两个或多个主机使用不同的NVMe控制器访问一个shared na…

键盘控制ROS车运动

键盘控制ROS车运动 上位机 使用pyseria库与stm32单片机进行通信控制 #!/usr/bin/env python # -*- coding: utf-8 -*import sys, select, termios, tty import serialmsg """ ---------------------------w a x ds w : x a : y s : -x …

基于JavaWeb的智慧停车管理系统设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题&#xff0c;今天给大家介绍…

右键菜单和弹出菜单的区别

接触windows开发10年了&#xff0c;一直以为"右键菜单"和"弹出菜单"是不同的。 最近刚刚发现&#xff0c;这两种菜单在定义的时候和消息循环处理程序中并没有什么不同&#xff0c;区别只是在于windows底层显示方式。 如下是右键菜单的显示方式&#xff1…

42、element表格内容溢出自动往上滚动,鼠标移入停止滚动,溢出继续滚动

vue模块&#xff0c;添加ref属性 <v-table ref"rollTable" style"margin: 0!important;" :loading"TBloading" :isIndex"true" :tableData"tableData":tableHead"tableHead":paginationShow"false"…

海康威视综合安防管理平台任意文件上传

系统介绍 HIKVISION iSecure Center综合安防管理平台是一套“集成化”、“智能化”的平台&#xff0c;通过接入视频监控、一卡通、停车场、报警检测等系统的设备&#xff0c;获取边缘节点数据&#xff0c;实现安防信息化集成与联动&#xff0c;公众号&#xff1a;web安全工具库…

【LeetCode刷题-字符串】--6.N字形变换

6.N字形变换 方法&#xff1a;使用二维矩阵模拟 根据题意&#xff0c;当在矩阵中填写字符时&#xff0c;会向下填写r个字符&#xff0c;然后向右继续填写r - 2个字符&#xff0c;最后回到第一行&#xff0c;因此Z字形变换的周期是t r r - 2 2r - 2&#xff0c;是|/,每个周期…

Django 入门学习总结2 创建一个投票系统

通过学习&#xff0c;我们可以实现一个简单的投票系统。这个投票系统有两部分组成。 公共部分&#xff0c;公众可以查看和进行投票。管理员可以进行增加、删除、修改投票信息。 这里投票系统Python语言版本为3.10.13&#xff0c;Django Web框架版本为4.2.7。 投票系统的实现…

单链表相关面试题--1.删除链表中等于给定值 val 的所有节点

/* 解题思路&#xff1a;从头节点开始进行元素删除&#xff0c;每删除一个元素&#xff0c;需要重新链接节点 */ struct ListNode* removeElements(struct ListNode* head, int val) {if(head NULL)return NULL;struct ListNode* cur head;struct ListNode* prev NULL;while…

nvm的下载与使用

1.如果已经安装nodejs , 先卸载nodejs; 从控制面板中 卸载程序 卸载nodejs win r打开cmd ,管理员运行 where node 查看是否删除干净nodejs 2.下载nvm 从github 下载nvm , 下载nvm 3.nvm 和node安装路径最好写在同一个路径下 &#xff0c;如D盘 ,D\a\nvm , D\a\nodejs 4.…

什么是美颜SDK?直播美颜SDK技术深度剖析

在实现实时美颜的过程中&#xff0c;美颜SDK扮演着关键的角色&#xff0c;它为开发者提供了一套强大的工具&#xff0c;使得实时美颜效果能够轻松应用于直播平台。 一、美颜SDK的基本概念 美颜SDK是一种软件工具包&#xff0c;通过集成了丰富的图像处理算法和实时计算技术&a…