Dijikstra implementation in books subtly different
Usually algorithms are specified in a somewhat high level format. Later one might fine tune some of the implementation details to get the complexity right.
Usually we call the various implementations all Dijkstra's algorithm. (And yes, I consider those implementation details, even though we are not coding in a specific language.) 


How do we store the distances so that we easily find the one with shortest distance from the start node?
How do we store the graph: adjacency lists or adjacency matrix?
It might be a good idea to compute 'temporary' distances for nodes not yet completed, so that we do not have to look at all edges between nodes that are completed and those that are not yet completed.


In the special case of Dijkstra's algorithm the type of graphs we consider might influence the implementation details. We might choose a certain type of priority queue when the graphs are sparse or not.