Option 1: Native side-by-side fullscreen mode in Big Sur
Make sure you have at least two windows on your desktop
Start by hovering your mouse over the green maximise button of one of these windows
Click on "Tile Window to Left of Screen"
Then, choose the other window, which should become the right part of your tiled window arrangement, by clicking on that window.
When you adjust the width of the left window, the right window will resize accordingly.
Option 2: Tiling window manager
If you would like more configurations options, or you would like to extend this mechanism to more than two windows on one desktop, using a tiling window manager like yabai would be an option.
For example, if a couple of windows are on one desktop using yabai, resizing one of the windows makes the other windows adjust their sizes accordingly.
yabai is a window management utility that is designed to work as an extension to the built-in window manager of macOS. yabai allows you to control your windows, spaces and displays freely using an intuitive command line interface and optionally set user-defined keyboard shortcuts using skhd and other third-party software.
Install the homebrew package manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install yabai
brew install yabai
Adjust the configuration in ~/.yabairc
if needed to customise the tiling behaviour.
# ~/.yabairc
yabai -m config window_placement second_child
yabai -m config window_topmost off
yabai -m config window_shadow on
yabai -m config window_opacity on
yabai -m config window_opacity_duration 0.0
yabai -m config active_window_opacity 1.0
yabai -m config normal_window_opacity 0.90
yabai -m config window_border on
yabai -m config window_border_width 6
yabai -m config active_window_border_color 0xff775759
yabai -m config normal_window_border_color 0xff555555
yabai -m config insert_feedback_color 0xffd75f5f
yabai -m config split_ratio 0.38
yabai -m config auto_balance on
yabai -m config mouse_modifier fn
yabai -m config mouse_action1 move
yabai -m config mouse_action2 resize
yabai -m config mouse_drop_action swap
yabai -m config layout bsp
yabai -m config top_padding 12
yabai -m config bottom_padding 12
yabai -m config left_padding 12
yabai -m config right_padding 12
yabai -m config window_gap 16
Have a look at this wiki to learn more about the tiling-configuration options.