diff --git a/tutorial/dart/server/bin/main.dart b/tutorial/dart/server/bin/main.dart
index b8ac30d..3926777 100644
--- a/tutorial/dart/server/bin/main.dart
+++ b/tutorial/dart/server/bin/main.dart
@@ -25,9 +25,9 @@
 import 'package:tutorial/tutorial.dart';
 import 'package:shared/shared.dart';
 
-TProtocol _protocol;
-TProcessor _processor;
-WebSocket _webSocket;
+late TProtocol _protocol;
+late TProcessor _processor;
+late WebSocket _webSocket;
 
 main(List<String> args) {
   Logger.root.level = Level.ALL;
@@ -38,12 +38,12 @@
   var parser = new ArgParser();
   parser.addOption('port', defaultsTo: '9090', help: 'The port to listen on');
   parser.addOption('type',
-      defaultsTo: 'ws',
+      defaultsTo: 'tcp',
       allowed: ['ws', 'tcp'],
       help: 'The type of socket',
       allowedHelp: {'ws': 'WebSocket', 'tcp': 'TCP Socket'});
 
-  ArgResults results;
+  ArgResults? results;
   try {
     results = parser.parse(args);
   } catch (e) {
@@ -114,12 +114,12 @@
     return num1 + num2;
   }
 
-  Future<int> calculate(int logid, Work work) async {
+  Future<int> calculate(int logid, Work? work) async {
     print('calulate($logid, ${work.toString()})');
 
-    int val;
+    late int val;
 
-    switch (work.op) {
+    switch (work!.op) {
       case Operation.ADD:
         val = work.num1 + work.num2;
         break;
@@ -155,7 +155,7 @@
     print('zip()');
   }
 
-  Future<SharedStruct> getStruct(int key) async {
+  Future<SharedStruct?> getStruct(int key) async {
     print('getStruct($key)');
 
     return _log[key];
diff --git a/tutorial/dart/server/pubspec.yaml b/tutorial/dart/server/pubspec.yaml
index 3cca54e..e15874a 100644
--- a/tutorial/dart/server/pubspec.yaml
+++ b/tutorial/dart/server/pubspec.yaml
@@ -22,10 +22,10 @@
 homepage: http://thrift.apache.org
 
 environment:
-  sdk: ">=1.13.0 <3.0.0"
+  sdk: ">=2.12.0 <4.0.0"
 
 dependencies:
-  args: ">=0.13.0 <2.0.0"
+  args: "^2.4.2"
   shared:
     path: ../gen-dart/shared
   thrift:
