Skip to content

Commit b2c9088

Browse files
committed
Fix URLs
1 parent 6f4ed4b commit b2c9088

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

site/content/blog/protobuf-immutability/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Such a difference between Java and client-side languages can be explained by a d
7676

7777
Nevertheless, in Dart, there are a few tools, as well as language structures, which can help you with immutability. For instance, `built_value` and `freezed` are two libraries that allow their users to create immutable data types with [almost no extra effort](https://levelup.gitconnected.com/flutter-dart-immutable-objects-and-values-5e321c4c654e). But in order to achieve immutability for data types that originate in Protobuf, we’d have to arrange the conversion from mutable to immutable types, which is a lot of manual work. And in the end, we’d get two classes for one Protobuf type. This is a suboptimal solution, to say the least.
7878

79-
We have tried creating a symbiosis between `built_value` and Protobuf to achieve immutable “front-facing” types, which would rely on standard Protobuf Dart code for serialization. This attempt has failed as we have found ourselves juggling too many noncoherent abstractions. At the time of writing, we [plan](https://github.com/SpineEventEngine/core-java/issues/1334) to implement custom code generation to support Dart, JavaScript, and Java, which addresses the limitations we face and provides immutability.
79+
We have tried creating a symbiosis between `built_value` and Protobuf to achieve immutable “front-facing” types, which would rely on standard Protobuf Dart code for serialization. This attempt has failed as we have found ourselves juggling too many noncoherent abstractions. At the time of writing, we [plan]({{% get-site-data "spine.core_jvm_repo" %}}/issues/1334) to implement custom code generation to support Dart, JavaScript, and Java, which addresses the limitations we face and provides immutability.
8080

8181
## What’s Next?
8282

site/content/blog/protobuf-value-objects/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Out of this declaration, the Protobuf compiler will generate a type, instances o
4242

4343
Note that the `(required)` and `(pattern)` options are extensions to Protobuf provided by the [Validation library](docs/guides/validation/) (which is a part of the Spine Event Engine framework).
4444

45-
In addition, in some target languages, such as Java, generated Protobuf types are immutable by default. Unfortunately, some other languages, such as JavaScript and Dart, only support [mutable types](https://github.com/dart-lang/protobuf/issues/413). For Dart, however, a community-driven solution seems to be on the way. The [immutable_proto](https://pub.dev/packages/immutable_proto) package implements code generation for immutable types from Protobuf. We have not tried it out yet, as the library is still in its earliest form, but the notion that other engineers feel our pain and try to do something about it as well warms our hearts.
45+
In addition, in some target languages, such as Java, generated Protobuf types are immutable by default. Unfortunately, some other languages, such as JavaScript and Dart, only support [mutable types](https://github.com/google/protobuf.dart/issues/413). For Dart, however, a community-driven solution seems to be on the way. The [immutable_proto](https://pub.dev/packages/immutable_proto) package implements code generation for immutable types from Protobuf. We have not tried it out yet, as the library is still in its earliest form, but the notion that other engineers feel our pain and try to do something about it as well warms our hearts.
4646

4747
For further reading on immutability with regards to Protobuf, see our [previous article](blog/protobuf-immutability/).
4848

0 commit comments

Comments
 (0)