GLKit 以外のコードで置き換えることができない GLKit の機能は思い浮かびません。一部の OpenGL ES 2.0 タスクを抽象化することで単純化できますが、独自の機能は何もありません。他の場所で複製できないものに最も近いのは (私がいじってみたところから)、それが提供する加速された行列とベクトルの数学関数ですが、それらでさえ小さな Accelerate または NEON コードに置き換えることができます。
アプリケーション内で GLKit を使用したいのですが、GLKit が利用できない iOS 4.2 を引き続きサポートしています。ビューの更新、テクスチャのアップロード、行列の計算などを処理するために、もう少しコードを書く必要があるだけです。たくさんのドキュメントと例があります。これらの操作については、それらを実装する際に独力で行うことを心配する必要はありません。
コードを Mac、特に Windows とクロスプラットフォームにしようとすると、GLKit よりもはるかに大きな問題が発生します。デスクトップ OpenGL と OpenGL ES の実装にはいくつかの違いがあり、ある関数または組み込み変数を別の関数または組み込み変数に置き換える場所を認識する必要があります。Mac の CAOpenGLLayer と NSOpenGLView も iOS の CAEAGLLayer とは異なり、AppKit 全体は UIKit とは別の動物です。
Cocoa フレームワークを使用できず、おそらく Objective-C も使用できないため、Windows のサポートはさらに困難になります。これには、OpenGL / OpenGL ES の違いよりも多くの時間がかかります。