张风捷特烈 的第一本 Flutter 应用层的小册现在上架了,快来看看吧。 《Flutter 实战:正则匹配应用》 , 以正则匹配为核心需求,基于 Flutter 框架构建全平台应用。
分别介绍了XSS、CSRF、点击劫持、URL跳转漏洞、SQL注入、OS命令注入攻击的原理和防御方式。
“ Flutter1.0正式版到现在的1.12,也发展了一年多了,使用Flutter开发的APP越来越多,各种类型的基本都覆盖了,下面这边推荐下Flutter入门学习资料和几个关注过的开源插件及Demo”
对一些有趣的绘制 技能和知识, 我会通过 [番外篇] 的形式加入《Flutter 绘制指南 - 妙笔生花》小册中,一方面保证小册的“与时俱进” 和 “活力”。另一方面,是为了让一些重要的知识有个 好的归宿。本文源码可以看这里。 另外一个好消息: 《Flutter 绘制指南 - 妙笔生花》小册源码 idraw 已经完成了 空安全 的转化。
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 5 天,点击查看活动详情
TextInputFormatter篇 忽略特殊字符 import 'package:flutter/services.dart'; const _regExp=r"^[\u4E00-\u9FA5A-Za-z0-9_]+$"; //忽略特殊字符 class IgnoreOtherFormatter extends TextInputFormatter{ @override TextEditingValue formatEditUpdate(TextEditingValue oldValue, Tex
.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{font-size:30px;margin-bottom:5px}.markdown-body h2{padding-bottom:12px;font-size:24px;border-bottom:1px solid #ececec}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#ff502c;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{text-decoration:none;color:#0269c8;border-bottom:1px solid #d1e9ff}.markdown-body a:active,.markdown-body a:hover{color:#275b8c}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f6f6f6}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#666;padding:1px 23px;margin:22px 0;border-left:4px solid #cbcbcb;background-color:#f8f8f8}.markdown-body blockquote:after{display:block;content:""}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body
后续本公众号每周会更新一期周报,汇总每周在微博分享的一些开源项目。之前分享过的周报可前往 GitHub 查看。
@charset "UTF-8";.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child,.markdown-body h4:first-child,.markdown-body h5:first-child,.markdown-body h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.markdown-body h1:before,.markdown-body h2:before,.markdown-body h3:before,.markdown-body h4:before,.markdown-body h5:before,.markdown-body h6:before{content:"#";display:inline-block;color:#3eaf7c;padding-right:.23em}.markdown-body h1{position:relative;font-size:2.5rem;margin-bottom:5px}.markdown-body h1:before{font-size:2.5rem}.markdown-body h2{padding-bottom:.5rem;font-size:2.2rem;border-bottom:1px solid #ececec}.markdown-body h3{font-size:1.5rem;padding-bottom:0}.markdown-body h4{font-size:1.25rem}.markdown-body h5{font-size:1rem}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body strong{color:#3eaf7c}.markdown-body img{max-width:100%;border-radius:2px;display:block;margin:auto;border:3px solid rgba(62,175,124,.2)}.markdown-body hr{border:none;border-top:1px solid #3eaf7c;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;overflow-x:auto;padding:.2rem .5rem;margin:0;color:#3eaf7c;font-weight:700;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75;border-radius:6px;border:2px solid #3eaf7c}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{font-weight:500;text-decoration:none;color:#3eaf7c}.markdown-body a:active,.ma
首先介绍一下 FlutterUnit 中,代码生成菜单下的 IconFont 工具的作用。它主要解决Flutter 项目中自定义字体图标使用的问题:
零、前言 FlutterUnit是【张风捷特烈】长期维护的一个开源项目。 欢迎star 经过一段时间的更新,FlutterUnit1.1已基本满足我的期望 目前正在逐渐增加和优化组件的收录。现在
在 AndroidStudio 中,可以在 External Libraries 下查看存在的 Dart Packages。如下是一个新建项目存在的内置包。这些包中定义的公开类、方法、对象都可以在代码中使用。其实可以看出各种 Widget 只是 Flutter 框架的一部分,除了组件之外,还有很多其他的包。这里简单讲一下相关包的功能,不详细展开了。
坑!!!在 VsCode 中使用 Dart和Flutter 插件,必须打开项目源代码的根目录(main.dart 所在目录)才有代码提示和相关检查与校验,单独的 .dart 文件 或者打开 多级目录 都是没有的(但是可能会突然有一小会又突然没有,薛定谔的提示0.0!),呜呜呜呜呜…搞得我一直以为是电脑环境的问题,重装了好几次 VsCode 插件与 Flutter SDK。
和尚最近在学习基础的 Flutter Widget,原因在于很多基础的组件有很多容易忽视的注意事项,了解并熟悉后对整体的开发认知会有所提升;今天和尚学习一下 TextField 文本输入框;
正在使用 Flutter 开发的你是否也有这样的困扰:组件繁多,依赖关系错综复杂,理不清头绪,看不清耦合。那么有没有一种工具或者方法让我们的依赖关系变得清晰明了,让人秒懂呢?我们给出答案就是:依赖关系可视化。
上一篇《【Flutter 绘制番外】svg 文件与绘制 (上)》中,我们对 H、V、L 三个 svg 指令做了介绍,并通过正则表达式进行解析,生成 Flutter 绘制中的 Path 路径。 本篇中将会介绍两个指令 C 和 Q ,它们分别代表 三次贝塞尔曲线(cubic) 和 二次贝塞尔曲线(quadratic) 。对这两个指令进行解析后,就可以让掘金的 svg 图标完美显示了:
今天本想用 Flutter Intl 插件来玩玩 多语言 ,不知道是 AndroidStudio 版本问题,还是什么,没想到添加语言时一直报错。不就是生成几个类,解析一下资源文件嘛,自己动手丰衣足食。再加上之前写个一个简单的多语言解析 ,刚好借此来稍微完善一下。
通过前四篇,我们已经了解了 Text 的源码实现和基本使用方式。其本质是使用了 RichText进行构建的,也就是说认识了 Text 就等价于认识了 RichText 。通过 Text.rich 我们也可以方便地构建富文本组件,在第三篇中介绍了一下 Text.rich,本篇就来详细地介绍一下富文本的使用。本篇和之前的几篇关系不大,可单独食用。
Fluter 2.0 已经发布了一段时间了,其中一项就是包含 Dart 2.12 的稳定版,完全支持空安全声明。作为一个进步的 Flutter 组织 , 组织的小伙伴也在第一时间支持了空安全。
我正在参加跨端技术专题征文活动,详情查看:juejin.cn/post/710123…
《前端技术观察》是由字节跳动IES前端团队收集、整理、推荐的业界高品质前端资源合集,主要分为以下几个板块: Highlights 优秀的工具、库 好的教程、深度解读已有技术的文章 业界最新的技术、热点文章 业界对(新)技术的深度地、优秀地实践 Tutorial Tools And Codes 《前端技术观察》的目的是让大家: 更及时的了解到业界最新的技术 受益于高质量的教程、文章 了解业界更优秀的代码、工具 更多地、氛围更浓厚地讨论、研究、落地技术 highlights V8 9.0 版本都有哪些新东西?
腾讯文档目前有 1.6 亿月活, 日活用户峰值超过了 1600 万, 它需要支撑起千人同时编辑, 极限情况下,需要支撑数十万行的数据渲染交互不卡顿.
在开发Flutter开发的过程中,路由跳转页面是十分常见的,市面上也有许许多多的路由插件包,例如fluro、ff_annotation_route、routermaster等等,但在个人使用上面,还是会有一些各种各样的不舒适,于是就开发了r_router这个插件包,我们来学习一下怎么使用吧!非常简单
上两篇我们通过对 svg 路径 M/H/V/L/C/Q/Z 几个指令的解析。把 掘金 logo 的 svg ,转化为 Flutter 的原生路径绘制,并且附加了一些绘制效果。
Dart 的拓展类方法已经支持很久了,之前忘了写篇文章介绍一下。最近写了几个拓展方法,借此机会,好好介绍一下 extension 关键字对类的拓展。
FlutterUtils 目录介绍 01.事件通知bus工具类 02.颜色Color工具类 03.日期转化工具类 04.File文件工具类 05.Sql数据库工具类 06.Json转化工具类 07.Log日志打印工具类 08.屏幕参数工具类 09.Sp轻量存储工具类 10.辅助计算工具类 11.加密和解密工具类 12.Num格式处理工具类 13.设备参数获取工具类 14.图片处理工具类 15.网络处理工具类 16.常用正则工具类 17.Object常用工具类 18.验证相关工具类 19.路由管理工具类 20
《前端技术观察》是由字节跳动IES前端团队收集、整理、推荐的业界高品质前端资源合集,主要分为以下几个板块: Highlights 业界最新的技术、热点文章 业界对(新)技术的深度地、优秀地实践 Tut
00.1 该库工具类汇总 工具类 功能说明 EventBusService bus事件通知工具类,实现了订阅者模式。用于组件之间通信 CalculateUtils 计算文本的宽,高 ColorUtils 主要是将RGB/ARGB转化为16进制字符串颜色或者Color DateFormats 常见中文,英文的日期时间转化的格式。包含绝大多数的日期格式 DateUtils 日期工具类,获取日期时间,各种时间之间的转换操作 EncryptUtils 加解密工具类,主要是md5加密,base
TextField是一个material design风格的输入框,本身有多种属性,除此之外装饰器InputDecoration也有多种属性,但都比较简单,所以不必担心,且听我娓娓道来。
有位开发者在 GitHub 上整理了一批前端开发相关的优质网站、博客、教程、书籍等内容。
我们计算增量代码覆盖率的基础,就是要找出两个版本代码的差异,在Git环境下,我们可以很方便的通过Git脚本来获取这些数据。
热重载其实就是将一个文件加入到监听中,如果有改变,就会对程序进行更新,我们可以集成jaguar_hotreload这个包,添加之后,就可以实现无需重启服务器进行更新了
先安装 Flutter 和 Dart 插件 , 参考 【Flutter】Flutter 开发环境搭建 ( Android Studio 下 Flutter / Dart 插件安装 | Flutter SDK 安装 | 环境变量配置 | 开发环境检查 ) 博客 ;
使用Flutter从零开始开发App是一件轻松惬意的事情,但对于一些成熟的产品来说,完全摒弃原有App的历史沉淀,全面转向Flutter是不现实的。因此使用Flutter去统一Android、iOS技术栈,把它作为已有原生App的扩展能力,通过有序推进来提升移动终端的开发效率。
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。
https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps#ios
在《Flutter与原生工程的混合开发》中,我介绍了Flutter工程与Native工程的混合开发,今天我们来聊一聊混合工程的自动化。
官方推荐的中国镜像 : https://flutter.dev/community/china
在学习使用flutter的过程中,遇到一些工程上的问题。比如flutter的配置,IDE的设置等等。
开发手机应用时 , 有时一个完整的应用 , 有些使用 Native 原生实现 , 有些使用前端小程序实现 , 有些部分使用 Flutter 实现 ;
一切源于一个简单的指令:flutter upgrade,然后开启了崩溃的黑色3小时。
" Flutter 包 " 包含 pubspec.yaml 和 lib 代码目录 ;
这不仅仅是一份用于求职面试的攻略,也是一份前端er用来检视自己,实现突破的宝典。 希望通过这个指南,大家可以打通自己的任督二脉,在前端的路上更进一步。
单独运行的 Flutter 应用 , 或 独立运行 混合应用 中的 Flutter Module 工程 ,
下面详细的讲解一下Flutter如何创建一个插件,并且教大家上传到Pub库,让大家也体验一把自己的库被别人使用的自豪感。
说到Flutter,可能很多同学都会将它和这几个词关联起来:新兴的、移动端、动态化、跨平台、开发框架。
上述开源项目 , 我在 2021 年 3 月 20 日 , 下载了一份源码 , 上传到本篇博客的对应资源中 ; 嫌麻烦的可以到 CSDN 资源中下载 , 关注即可下载 , 不需要积分 ;
在上一篇博客 【Flutter】Flutter 混合开发 ( 关联 Android 工程与 Flutter 工程 | 安卓页面中嵌入 Flutter 页面 | 安卓中启动 Flutter 页面 ) 中 , 创建 Android 工程 , 并将两个工程进行关联 , 在 Android 的 Activity 界面中嵌入了 FlutterFragment , 在 Android 中启动了 FlutterActivity ;
安装完flutter以后google analytics默认是自动打开的,国内建议选择关闭:
Flutter提供的混编方案直接依赖于Flutter工程和Flutter环境,非Flutte团队成员无法脱离Flutter环境进行开发,团队合作成本加重。
领取专属 10元无门槛券
手把手带您无忧上云