GeoGebra offers a command for the tangent to a function f(x) at x=a.
a = 3 f(x) = 2 sin(x) t = Tangent[a, f]
By animating a (see 4.1.2) the tangent slides along the graph of f.
Another way of doing this would be
a = 3 f(x) = 2 sin(x) T = (a, f(a)) t : X = T + s (1, f'(a))
Additionally, we get the point T on the graph of f. The tangent t is given in parametric form. By the way, you can create the tangent of a function geometrically too:
Now, choose the Move mode and drag the point along the function with your mouse. The tangent is changed dynamically too.