Here's one that I rather like that uses equicontinuity and compactness as the engine for moving from pointwise to uniform convergence. For the sake of clarity, let's recall what equicontinuity means.

Definition: Let $X$ and $Y$ be metric spaces. A set $E$ of continuous functions from $X$ to $Y$ (i.e. $E \subseteq C(X,Y)$ ) is equicontinuous if for every $x \in X$ and every $\varepsilon>0$ there exists $\delta >0$ such that $$ y \in X \text{ and } d_X(x,y) < \delta \Rightarrow d_Y(f(x),f(y)) < \varepsilon \text{ for all } f \in E. $$

With this definition in hand, we can state the result.

Theorem: Let $X$ and $Y$ be metric spaces with $X$ compact. Suppose that for $n \in \mathbb{N}$ the function $f_n: X \to Y$ is continuous and that $\{f_n | n \in \mathbb{N}\}$ is equicontinuous. Let $f : X \to Y$ and suppose that $f_n \to f$ pointwise as $n \to \infty$. Then $f_n \to f$ uniformly as $n \to \infty$. In particular, this means that $f$ is continuous.

Proof:

Let $\varepsilon >0$. By the equicontinuity property, for each $x \in X$ we can find $\delta_x >0$ such that $$ y \in B_X(x,\delta_x) \Rightarrow d_Y(f_n(x),f_n(y)) < \frac{\varepsilon}{4} \text{ for all } n \in \mathbb{N}. $$ The collection of open balls $\{B_X(x,\delta_x)\}_{x \in X}$ is an open cover of $X$. The compactness of $X$ allows us to find a finite subcover, namely $x_1,\dotsc,x_k \in X$ such that $X = \bigcup_{i=1}^k B_X(x_i,\delta_{x_i})$. Due to the pointwise convergence $f_n \to f$ (or really the pointwise Cauchy property), for each $i=1,\dotsc,k$ we can choose $N_i \in \mathbb{N}$ such that $$ m,n \ge N_i \Rightarrow d_Y(f_n(x_i),f_m(x_i)) < \frac{\varepsilon}{4}. $$

Set $N = \max \{N_1,\dotsc,N_m\} \in \mathbb{N}$. For each $x \in X$ there exists $i\in \{1,\dotsc,k\}$ such that $x \in B(x_i,\delta_{x_i})$. Then for $m \ge n \ge N$ we have the estimate $$ d_Y(f_m(x),f_n(x)) \le d_Y(f_m(x),f_m(x_i)) + d_Y(f_m(x_i),f_n(x_i)) + d_Y(f_n(x_i),f_n(x)) \\ < \frac{\varepsilon}{4} + \frac{\varepsilon}{4} + \frac{\varepsilon}{4} = \frac{3\varepsilon}{4}. $$ Hence for $n \ge N$, $$ d_Y(f(x),f_n(x)) = \lim_{m \to \infty} d_Y(f_m(x),f_n(x)) \le \frac{3\varepsilon}{4}. $$ This holds for all $x \in X$, so $$ n \ge N \Rightarrow \sup_{x \in X} d_Y(f(x),f_n(x)) \le \frac{3\varepsilon}{4} < \varepsilon, $$ and we deduce that $f_n \to f$ uniformly as $n \to \infty$.