Flutter is great for making beautiful user interfaces and handling logic like login, settings, server lists, etc. But when it comes to the actual VPN connection (the thing that tunnels your internet traffic), Dart alone can’t do it. That part needs to talk to the device’s lower-level system, and for that, native code is required.
So in short:
Flutter + Dart: for the front-end, design, and basic app features.
Native code (Android/iOS): to handle the actual VPN connection.