老孟导读:Windows来了,Mac、Linux、Web还远吗? 本文翻译自https://medium.com/flutter/announcing-flutter-windows-alpha-33
将Windows添加到Flutter
-
工具链更新:向CLI和IDE工具添加新目标(在本例中为Windows)
-
Shell:支持通过
WM_*
消息处理Windows的输入和通过ANGLE的输出,使用斯基亚(Skia)以本机速度渲染到底层DirectX表面
-
Runner:每个项目都会获得针对受支持目标的Shell应用程序。对于Windows,这是一个Win32 / C ++程序,可加载Flutter代码并在运行时执行它。如果需要,可以在此处向应用程序添加本机代码。
-
插件:插件是Dart代码和该插件支持的每个平台的本机代码的混合。需要为在Windows上Flutter应用程序中编译的每个插件添加该本地代码。
探索一些示例应用
Flutter for Windows入门
$ flutter channel dev
$ flutter upgrade
$ flutter config --enable-windows-desktop
Windows插件
与Windows互操作
$ flutter create --template plugin --platforms Windows hello_plugin
typedef MessageBoxNative = Int32 Function(
IntPtr hWnd,Pointer<Utf16> lpText,Pointer<Utf16> lpCaption,Int32 uType
);
typedef MessageBoxDart = int Function(
int hWnd,int uType
);
final user32 = DynamicLibrary.open('user32.dll');
final win32MessageBox =
user32.lookupFunction<MessageBoxNative,MessageBoxDart>('MessageBoxW');
void showMessageBox(String message,String caption) =>
win32MessageBox(
0,// No owner window
Utf16.toUtf16(message),// Message
Utf16.toUtf16(caption),// Window title
0 // OK button only
);
...
// call just like any other Dart function
showMessageBox('Test Message','Window Caption');
view rawmbox.dart hosted with ❤ by GitHub
Windows资源Flutter
适用于Windows的Flutter
下一步是什么
摘要