Faits:
A. A._ a obtenu un diplôme d'ingénieur à l'étranger et suivi des cours d'économie dans ce pays. Arrivé en Suisse en 1979, il a exercé plusieurs activités, notamment en qualité de conducteur auprès de X._ durant cinq ans jusqu'en 1988. Depuis cette année-là, il a travaillé en tant que personne de condition indépendante dans le domaine de la restauration (exploitation d'un établissement public; traiteur spécialisé dans la cuisine orientale).
Invoquant un traumatisme de l'épaule droite consécutif à une chute à ski en 1994, et surtout des lombalgies liées à un accident survenu en mai 1998, A._ a déposé une demande de prestations de l'assurance-invalidité le 16 mars 2001. D'une enquête pour activité professionnelle indépendante du 2 octobre 2003, il est ressorti notamment que l'assuré a dû renoncer aux travaux lourds depuis l'accident de 1998 et que son travail a dès lors uniquement consisté à assurer le service. Auparavant, il s'occupait des achats, de la préparation des repas, du nettoyage, avec le concours d'un employé engagé à plein temps.
Par décision du 21 octobre 2003, confirmée sur opposition le 25 mai 2004, l'Office cantonal de l'assurance-invalidité du canton de Genève (l'office AI) a rejeté la demande, après avoir fixé le taux d'invalidité à 36 %. Par jugement du 14 juin 2005, qui n'a pas été attaqué, le Tribunal des assurances sociales du canton de Genève a annulé cette décision et renvoyé la cause à l'office AI afin qu'il en reprenne l'instruction; il a prescrit à l'administration d'évaluer le degré d'invalidité de l'assuré en appliquant la méthode extraordinaire (comparaison des activités pondérée par une prise en compte des perspectives de gain) au lieu de la méthode générale de comparaison des revenus). L'assuré a mis fin à son activité professionnelle au 30 juin 2005.
Le 8 mars 2006, le SMR a procédé à un examen rhumatologique de l'assuré. Dans son rapport du 2 juin 2006, le docteur G._, spécialiste en médecine interne et rhumatologie, a attesté que l'assuré disposait depuis le 29 mai 1998 d'une capacité de travail entière dans une activité adaptée, tandis que la capacité de travail était de 70 % dans son activité habituelle de traiteur devant lever des charges. Par ailleurs, la comparaison des champs d'activités a mis en évidence une incapacité de travail globale de 54,6 % (rapport d'enquête pour activité professionnelle indépendante du 3 avril 2007); quant aux incapacités de travail, elles ont généré, en prenant en compte le salaire théorique pour chacune de ces activités, un taux d'invalidité de 53 %. L'enquêtrice a fixé la perte de gain à 53 % jusqu'au 30 juin 2005, date à laquelle l'assuré a cessé d'exercer son activité d'indépendant; elle a réservé l'examen du droit à des mesures professionnelles.
Dans un rapport du 19 avril 2007, la division de réadaptation professionnelle de l'office AI a préconisé l'octroi d'une demi-rente d'invalidité jusqu'au 30 juin 2005. Au-delà, l'invalidité devait être évaluée sur la base de la méthode ordinaire, en tenant compte d'une capacité de travail entière dans une activité adaptée. C'est ainsi que le revenu d'invalide a été établi sur la base des statistiques salariales de l'Enquête suisse sur la structure des salaires (ESS 2004, table TA1 pour un homme, activités de niveau 4, réactualisées au coût de la vie et à la durée de travail normale des entreprises), soit un salaire de 57'751 fr. auquel un abattement de 15 % a été appliqué. Quant au revenu sans invalidité, il a été fixé à 52'286 fr., correspondant au salaire théorique retenu dans l'enquête pour indépendant du 3 avril 2007 pour chacun des champs d'activités sans handicap, tels qu'ils ressortent des statistiques salariales, niveaux 3 et 4. La comparaison des revenus (49'088 / 52'286) a abouti à un taux d'invalidité de 6 %.
Par décision du 17 décembre 2008, consécutive à un projet du 28 novembre 2007, l'office AI a mis l'assuré au bénéfice d'une demi-rente d'invalidité du 1er mars 2000 au 31 mai 2005.
B. A._ a déféré cette décision au Tribunal des assurances sociales en concluant au versement d'une demi-rente à compter du 1er mai 1999, sans limitation dans le temps.
Par jugement 28 avril 2009, la juridiction cantonale a admis le recours et annulé la décision litigieuse, dit que le droit à la demi-rente d'invalidité en application de la méthode extraordinaire s'étendait du 1er mars 2000 au 30 juin 2005 (au lieu du 31 mai 2005), mis le recourant au bénéfice de mesures de réadaptation professionnelle, et renvoyé la cause à l'office AI pour qu'il examine à nouveau la question du droit à la rente au-delà du 30 juin 2005. L'indemnité de dépens a été fixée à 2'500 fr. et l'émolument de justice à 750 fr., à charge de l'office AI.
C. L'office AI interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant à la confirmation de sa décision du 17 décembre 2009 (recte : 2008), ce que l'Office fédéral des assurances sociales propose également dans son préavis.
L'intimé conclut au rejet du recours, avec suite de frais et dépens.
Par ordonnance du 30 octobre 2009, le Juge instructeur a accordé l'effet suspensif au recours.

Considérant en droit:
1. Le litige porte sur le degré d'invalidité de l'intimé à partir du 1er juin 2005, ainsi que sur son droit éventuel à des prestations de l'assurance-invalidité à compter de ce moment-là.
2. La solution du litige ressortit aux art. 16 et 17 LPGA, et 28 al. 2 LAI (dans sa teneur en vigueur jusqu'au 31 décembre 2007).
3. L'intimé a mis un terme à son activité lucrative indépendante en juin 2005, invoquant des problèmes de santé. La cessation de cette activité justifie de procéder à une révision du droit à la demi-rente d'invalidité, en vertu de l'<ref-law>. En effet, comme les champs d'activités professionnels comparés ont disparu, la méthode extraordinaire d'évaluation qui tenait compte de la réalité concrète de l'activité de traiteur indépendant n'a plus de fondement.
Le degré de l'invalidité doit ainsi être revu et déterminé désormais selon la méthode générale de comparaison des revenus, ce qui n'est d'ailleurs pas contesté.
4. Dès lors que l'intimé n'exerce plus d'activité lucrative, son revenu d'invalide doit être arrêté sur la base des statistiques salariales, compte tenu de la capacité de travail (entière) dont il dispose dans une activité exigible. Ce point n'est pas non plus sujet à discussion, pas plus que le revenu annuel qu'il pourrait retirer (49'088 fr.).
5. 5.1 En ce qui concerne le revenu sans invalidité, les premiers juges ont considéré que le revenu que l'intimé aurait pu retirer de son activité indépendante, sans l'atteinte à la santé, n'est actuellement plus pertinent, car l'intéressé a mis fin à cette activité. Ils ont ainsi cherché à déterminer le revenu que l'intimé aurait pu espérer percevoir dans une activité salariée. A cet égard, la juridiction cantonale a relevé que l'intimé avait allégué, en cours de procédure, avoir travaillé en qualité de conducteur auprès de X._ et qu'un employé de cette entreprise réalise aujourd'hui (ou peut en tout cas réaliser en fonction de son profil) un salaire de l'ordre de 100'000 fr. par année. Dès lors qu'il avait occupé une telle fonction durant cinq ans jusqu'en 1988 et qu'il aurait plus de vingt ans d'ancienneté en 2005, l'intimé aurait pu aspirer à ce revenu. Dans ces conditions, les juges cantonaux ont retenu qu'un salaire de 100'000 fr. générerait un taux d'invalidité d'au moins 50 % (49'088 / 100'000), ce qui non seulement ouvre largement le droit de l'intimé à des mesures professionnelles mais lui garantirait aussi le maintien de la demi-rente au-delà du 30 juin 2005.
Le raisonnement que les premiers juges tiennent à propos du gain hypothétique provenant d'un emploi de conducteur auprès de X._ ne peut être suivi, car l'intimé avait abandonné cette activité en 1988 pour des motifs étrangers à l'invalidité. Ainsi que le recourant le fait observer à juste titre, on ne saurait s'écarter du dernier revenu que l'intimé avait mis en valeur de longue date dans son activité indépendante (à laquelle il consacrait jusqu'à 68 heures par semaine), pour le seul motif qu'il aurait pu disposer de meilleures possibilités de gain sur le marché du travail. Il s'agit là d'un choix de l'intimé, dont l'assurance-invalidité ne répond pas lorsqu'un risque survient (cf. <ref-ruling> consid. 5c/bb p. 157). La solution peut certes être différente si l'invalidité apparaît peu après que l'assuré a débuté une activité indépendante (arrêt I 395/04 du 26 janvier 2006, commenté par U. KIESER, Invalidität von Selbstständigerwerbenden, p. 32). En l'espèce, le gain annuel approximatif de 100'000 fr. ne peut donc être retenu comme revenu sans invalidité (voir par ex. l'arrêt I 943/06 du 13 avril 2007 consid. 6.2, publié in SVR 2007 IV n° 38 p. 131).
5.2 Le revenu sans invalidité doit être déterminé en établissant au degré de la vraisemblance prépondérante ce que l'assuré aurait effectivement pu réaliser au moment déterminant s'il était en bonne santé (<ref-ruling> consid. 4.1 p. 325, 129 V 222 consid. 4.3.1 p. 224).
En l'occurrence, ce gain doit être évalué de manière aussi concrète que possible, en 2005, année au cours de laquelle le changement de circonstances entraîne une révision du droit à la rente. Le recourant a fixé le revenu sans invalidité à 52'286 fr. aussi bien dans le cadre de l'évaluation de l'invalidité selon la méthode extraordinaire (jusqu'au 30 juin 2005) que lors de la comparaison des revenus (depuis le 1er juillet 2005). Pour établir ce revenu, chacun des champs d'activités sans handicap a été évalué (direction, achats, préparations, service, nettoyages et rangements, livraisons) à la lumière des statistiques de l'ESS, en tenant compte de niveaux de qualification distincts (3 ou 4) pour les différents postes (cf. rapport d'enquête pour activité professionnelle indépendante du 3 avril 2007, ch. 5 p. 5). Le procédé n'est pas contraire au droit, car le recourant a pris ainsi en considération la situation concrète dans laquelle l'intimé se trouvait au moment où la révision de la rente a pris effet (<ref-law>).
Dans ces conditions, la décision administrative du 17 décembre 2008 est conforme au droit fédéral et doit être confirmée, sous réserve de l'échéance du droit à la rente qui doit être reporté au 30 juin 2005 (fin de l'activité indépendante).
5.3 Vu les circonstances, on peut renoncer à se demander si le revenu sans invalidité aurait pu être établi en partant du dernier gain que l'assuré avait obtenu dans son activité indépendante, en se fondant sur les cotisations qui seraient perçues en vertu de la LAVS (<ref-law>; arrêt 8C_9/2009 du 10 novembre 2009 consid. 3.3, publié in SVR 2010 IV n° 26 p. 80, citant l'arrêt 8C_576/2008 du 10 février 2009 consid. 6.2, également publié in SVR 2009 IV n° 28 p. 81).
De même, le point n'étant pas litigieux, il n'y a pas lieu d'aborder le bien-fondé du droit au versement d'une demi-rente jusqu'au 30 juin 2005, sous l'angle de l'obligation de l'assuré de réduire le dommage. En effet, lorsque l'activité exercée au sein de l'entreprise après la survenance de l'atteinte à la santé ne met pas pleinement en valeur la capacité de travail résiduelle de l'assuré (in casu, la capacité de travail a été fixée à 70 % dans une activité de traiteur, et à 100 % dans une activité adaptée), celui-ci peut être tenu, en fonction des circonstances objectives et subjectives du cas concret, de mettre fin à son activité indépendante au profit d'une activité salariée plus lucrative (arrêt 9C_236/2009 du 7 octobre 2009 consid. 4.3 et les références, in SVR 2010 n° 11 p. 37; voir également arrêt 8C_748/2008 du 10 juin 2009 consid. 4; s'agissant de la situation d'agriculteurs, voir l'arrêt 9C_578/2009 du 29 décembre 2009 consid. 4.3.2, ainsi que l'arrêt I 38/06 du 7 juin 2006 consid. 3.2 et les références, commenté par U. KIESER, op. cit., p. 37).
6. L'intimé, qui succombe, supportera les frais de la procédure fédérale (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est admis et le jugement du Tribunal cantonal des assurances sociales de la République et canton de Genève du 28 avril 2009 est annulé, à l'exception du ch. 3 du dispositif de ce jugement.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge de l'intimé.
3. Le Tribunal cantonal des assurances sociales de la République et canton de Genève statuera à nouveau sur les frais et dépens de l'instance cantonale, au regard de l'issue du litige.
4. Le présent arrêt est communiqué aux parties, au Tribunal cantonal des assurances sociales de la République et canton de Genève et à l'Office fédéral des assurances sociales.
Lucerne, le 12 mai 2010
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Meyer Berthoud