JP6212657B2 - Development support system - Google Patents

Development support system Download PDF

Info

Publication number
JP6212657B2
JP6212657B2 JP2016563318A JP2016563318A JP6212657B2 JP 6212657 B2 JP6212657 B2 JP 6212657B2 JP 2016563318 A JP2016563318 A JP 2016563318A JP 2016563318 A JP2016563318 A JP 2016563318A JP 6212657 B2 JP6212657 B2 JP 6212657B2
Authority
JP
Japan
Prior art keywords
component
screen
list
displayed
development
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016563318A
Other languages
Japanese (ja)
Other versions
JPWO2016092626A1 (en
Inventor
祐介 塩川
祐介 塩川
英子 宮前
英子 宮前
護 清水
護 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Publication of JPWO2016092626A1 publication Critical patent/JPWO2016092626A1/en
Application granted granted Critical
Publication of JP6212657B2 publication Critical patent/JP6212657B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Description

本発明は、Webアプリケーションの開発技術に関し、特に、マルチデバイスに対応した画面表示を行うWebアプリケーションの開発を支援する開発支援システムに適用して有効な技術に関するものである。   The present invention relates to a Web application development technique, and more particularly to a technique that is effective when applied to a development support system that supports the development of a Web application that displays a screen corresponding to a multi-device.

近年、例えば、タブレット端末やスマートフォンなどのいわゆるスマートデバイスの業務活用が本格化しており、企業の基幹システムと連携するような中・大規模なシステムの開発案件も増える傾向にある。このような状況で、ユーザ企業の要件は複雑となり、ITベンダー等の開発者にとって開発難易度も高くなってきていることから、開発の効率化を図って生産性を向上させることが重要となる。   In recent years, for example, business utilization of so-called smart devices such as tablet terminals and smartphones has become full-fledged, and there is a tendency to increase the number of medium- and large-scale system development projects that are linked with a company's core system. Under these circumstances, the requirements of user companies have become complex, and the level of development difficulty has become higher for developers such as IT vendors. Therefore, it is important to improve the efficiency of development and improve productivity. .

この点につき、例えば、ソースコードなどの開発成果物における共通部分・汎用部分の部品化や、開発時の部品の再利用を推進することが効果的である。さらに、マルチデバイスやマルチプラットフォーム(以下では単に「マルチデバイス」と総称する場合がある)対応を行うことで、デバイスやプラットフォーム毎の個別の開発部分を低減させることも有効である。   In this regard, for example, it is effective to promote common parts / general parts in development products such as source code and reuse of parts during development. Furthermore, it is also effective to reduce individual development portions for each device and platform by supporting multi-devices and multi-platforms (hereinafter sometimes simply referred to as “multi-devices”).

マルチデバイスに対応した再利用可能な部品化の技術に関連して、例えば、特開2013−235387号公報(特許文献1)には、入出力項目を表示するためのコントロールの外観や属性、制御処理などを含むユーザインタフェースを、デバイスに応じてソースコードを変更することなく動的に変更するWebサーバシステムが記載されている。当該システムは、例えば、クライアント端末からの要求に基づいて、クライアント端末のデバイスの種類に係る情報を取得するデバイス取得部と、ソースコードに含まれるパーツオブジェクトについて、デバイス取得部により取得したクライアント端末のデバイスの種類に応じた、パーツオブジェクトの承継元の上位クラスに実装された、コントロールを表示する際の調整内容に基づいて、クライアント端末の画面上に対応するコントロールを表示させるHTMLデータを生成する応答処理部とを有する。   In relation to the technology for making reusable components compatible with multi-devices, for example, Japanese Unexamined Patent Application Publication No. 2013-235387 (Patent Document 1) describes the appearance, attributes, and control of controls for displaying input / output items. A Web server system that dynamically changes a user interface including processing and the like without changing a source code according to a device is described. The system includes, for example, a device acquisition unit that acquires information related to a device type of the client terminal based on a request from the client terminal, and a client terminal acquired by the device acquisition unit for a part object included in the source code. Response that generates HTML data to display the corresponding control on the screen of the client terminal, based on the adjustment contents when displaying the control, implemented in the upper class of the inheritance source of the part object according to the device type And a processing unit.

特開2013−235387号公報JP 2013-235387 A

例えば、特許文献1に記載されたような技術を用いることで、Webアプリケーションの開発に際して、部品(パーツオブジェクト)を再利用可能とするとともに、1つのソースコードでマルチデバイス対応をすることが可能となる。   For example, by using a technique as described in Patent Document 1, it is possible to reuse a part (part object) when developing a Web application and to support multiple devices with one source code. Become.

しかしながら、実際は、1つのソースコードによるマルチデバイス対応といっても、例えば、ソースコード中でif文などによりデバイス毎に処理を書き分けることが必要となる場合もある。また、新たにデバイスが追加された場合にソースコードに処理を追記しなければならないなど、画面開発者にとって1つのソースコードによって完全なマルチデバイス対応をすることは困難である。   However, in fact, even if it is said that multiple devices are supported by one source code, it may be necessary to write processing for each device by using, for example, an if statement in the source code. In addition, when a new device is added, it is difficult for a screen developer to fully support multiple devices with a single source code, such as having to add processing to the source code.

また、マルチデバイス対応として、例えば、デバイスの画面サイズに応じてユーザインタフェースを切り替えることができる場合でも、実際は、ある画面において表示されるコントロールやパーツなどの大きさや表示形式、配置などを変更できるのみであり、複数画面の遷移を伴った変更を行うことは困難である。   Also, as a multi-device support, for example, even when the user interface can be switched according to the screen size of the device, the size, display format, arrangement, etc. of controls and parts displayed on a screen can actually be changed Therefore, it is difficult to make a change with a transition of a plurality of screens.

例えば、PC(Personal Computer)やタブレット端末に比べてスマートフォンの画面サイズは小さく、表示できる情報量に制約がある。そのため、例えば、メニューなどの一覧表示について、PCやタブレット端末では1つの画面に常時全て展開した状態で一覧表示するのに対し、スマートフォンでは、通常時はメニュー表示を指示するアイコン等のみを表示しておき、当該アイコン等を介してメニュー表示が指示された際に別画面としてメニュー一覧を表示する、というようなインタフェースが採用される場合がある。従来技術ではこれらの場合に1つのソースコードで各パターンに対応できるようにすることは困難である。そこで、再利用可能な部品を用いて画面開発を行う場合に、デバイスが異なる場合でも1つのソースコードによってマルチデバイス対応を可能とするような仕組みが望まれる。   For example, the screen size of a smartphone is smaller than that of a PC (Personal Computer) or tablet terminal, and the amount of information that can be displayed is limited. Therefore, for example, with respect to list display of menus and the like, a list display is always performed on a single screen on a PC or tablet terminal, whereas a smartphone normally displays only icons or the like for instructing menu display. In some cases, an interface may be employed in which a menu list is displayed as a separate screen when a menu display is instructed via the icon or the like. In these cases, it is difficult for the conventional technology to deal with each pattern with one source code. Therefore, when screen development is performed using reusable components, a mechanism that enables multi-device support with a single source code is desired even if the devices are different.

一方で、再利用可能な部品を用いてWebアプリケーションの画面開発を行う場合、どのような部品が存在し、そのうちのいずれが利用可能であるのか、また、対象の部品を利用するためにソースコード上でどのように実装すればよいのか、などが把握し難いという課題がある。複数の開発プロジェクトが併存する場合などでは、プロジェクト毎に利用可能な部品が異なり得るし、同一プロジェクト内でも画面デザインの統一性などの観点から、サブシステムやアプリケーション毎に利用可能な部品が異なり得る。特に、ここでの部品が画面の構成要素に係るものであることから、利用可能な部品の外観や操作性などを視覚的に一覧として把握できなければ、部品の選択、決定における効率性は大きく低減する。   On the other hand, when developing web application screens using reusable parts, what parts exist, which are available, and source code to use the target parts There is a problem that it is difficult to grasp how to implement the above. When multiple development projects coexist, the parts that can be used for each project may be different, and even within the same project, the parts that can be used for each subsystem or application may differ from the viewpoint of screen design uniformity. . In particular, since the parts here are related to the components of the screen, if the appearance and operability of the available parts cannot be grasped visually as a list, the efficiency in selecting and determining the parts is large. To reduce.

利用可能な部品の一覧等について、例えば、マニュアルや仕様書などを用意して開発者に提供することが考えられるが、部品の外観や操作性などについてマニュアル等での静的な情報だけでは十分に把握することは難しく、また、部品の検索性も低下する。さらに、部品の修正や新しい部品の追加などが行われる度にマニュアルや仕様書をアップデートする必要があるなど、保守性も低下する。   For example, a list of available parts can be provided to the developer by preparing a manual or specifications, but static information in the manual etc. is sufficient for the appearance and operability of the parts. It is difficult to grasp and the searchability of parts is also reduced. Furthermore, maintainability also deteriorates because it is necessary to update manuals and specifications whenever parts are corrected or new parts are added.

そこで本発明の目的は、部品化された要素を再利用することでマルチデバイス対応のWebアプリケーションに係る画面開発を可能とする仕組みにおいて、利用可能な部品の一覧を開発者が視覚的に容易に把握できるようにする開発支援システムを提供することにある。   Accordingly, an object of the present invention is to make it easy for a developer to visually list a list of available parts in a mechanism that enables screen development related to a multi-device compatible Web application by reusing the componentized parts. The purpose is to provide a development support system that can be grasped.

本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。   Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.

本発明の代表的な実施の形態による開発支援システムは、クライアント端末からのリクエストを受けて前記クライアント端末のデバイスの種類に応じた処理結果画面を応答するWebアプリケーションの画面開発を支援する開発支援システムであって、以下の特徴を有するものである。   A development support system according to a representative embodiment of the present invention supports a screen development of a Web application that receives a request from a client terminal and responds with a processing result screen corresponding to the device type of the client terminal. However, it has the following characteristics.

すなわち、開発支援システムは、所定のフォルダに格納され、1つ以上の画面パーツの組み合わせからなり、前記各画面パーツが画面表示される際の外観を前記デバイスの種類毎に規定したテンプレートを有する1つ以上のコンポーネントと、開発者端末を介して、開発者が前記Webアプリケーションの画面開発に利用可能な利用可能コンポーネントの一覧表示の要求を受け付けるコンポーネント管理コントローラと、前記コンポーネント管理コントローラからの指示に基づいて、前記フォルダに格納されている前記コンポーネントから、前記利用可能コンポーネントの一覧情報を取得するコンポーネント管理モデルと、を有する。さらに、前記コンポーネント管理コントローラからの指示に基づいて、前記コンポーネント管理モデルが取得した前記各利用可能コンポーネントにつき、前記開発者端末から指定されたデバイスの種類に対応した前記テンプレートによって規定される外観により一覧表示画面を作成して前記開発者端末に表示させるコンポーネント一覧ビューを有する。   That is, the development support system includes a template that is stored in a predetermined folder, includes a combination of one or more screen parts, and defines the appearance when each screen part is displayed on the screen for each type of device. Two or more components, a component management controller that receives a request to display a list of available components that can be used for screen development of the Web application via the developer terminal, and an instruction from the component management controller And a component management model for obtaining list information of the available components from the components stored in the folder. Further, based on an instruction from the component management controller, each available component acquired by the component management model is listed according to an appearance defined by the template corresponding to the device type specified from the developer terminal. It has a component list view that creates a display screen and displays it on the developer terminal.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

すなわち、本発明の代表的な実施の形態によれば、部品化された要素を再利用することでマルチデバイス対応のWebアプリケーションに係る画面開発を可能とする仕組みにおいて、利用可能な部品の一覧を開発者が視覚的に容易に把握することが可能となる。   In other words, according to a typical embodiment of the present invention, a list of available components is displayed in a mechanism that enables screen development related to a multi-device compatible Web application by reusing componentized components. Developers can easily grasp visually.

本発明の実施の形態1であるWebサーバシステムの構成例について概要を示した図である。It is the figure which showed the outline | summary about the structural example of the Web server system which is Embodiment 1 of this invention. (a)、(b)は、本発明の実施の形態1におけるデバイス毎のレイアウトの相違の例について概要を示した図である。(A), (b) is the figure which showed the outline | summary about the example of the difference in the layout for every device in Embodiment 1 of this invention. (a)、(b)は、本発明の実施の形態1におけるデバイス毎のレイアウトの相違の他の例について概要を示した図である。(A), (b) is the figure which showed the outline | summary about the other example of the difference in the layout for every device in Embodiment 1 of this invention. (a)、(b)は、本発明の実施の形態1におけるデバイス毎のコンポーネント表示の相違の例について概要を示した図である。(A), (b) is the figure which showed the outline | summary about the example of the difference in the component display for every device in Embodiment 1 of this invention. (a)、(b)は、本発明の実施の形態1におけるデバイス毎のコンポーネント表示の相違の他の例について概要を示した図である。(A), (b) is the figure which showed the outline | summary about the other example of the difference in the component display for every device in Embodiment 1 of this invention. 本発明の実施の形態1におけるエディットビューでの指定内容と、これに伴う画面表示時の処理の流れの例について概要を示した図である。It is the figure which showed the outline | summary about the example of the content of designation | designated in the edit view in Embodiment 1 of this invention, and the process flow at the time of the screen display accompanying this. 本発明の実施の形態2である開発支援システムの構成例について概要を示した図である。It is the figure which showed the outline | summary about the structural example of the development assistance system which is Embodiment 2 of this invention. 本発明の実施の形態2における開発者端末の画面上に表示されるコンポーネントの一覧表示画面の例について概要を示した図である。It is the figure which showed the outline | summary about the example of the list display screen of the component displayed on the screen of the developer terminal in Embodiment 2 of this invention. 本発明の実施の形態2における開発者端末の画面上に表示されるサンプルコードの例について示した図である。It is the figure shown about the example of the sample code displayed on the screen of the developer terminal in Embodiment 2 of this invention.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

(実施の形態1)
<システム構成>
図1は、本発明の実施の形態1であるWebサーバシステムの構成例について概要を示した図である。本発明の実施の形態1であるWebサーバシステム100は、画面パーツをコンポーネント化してコンポーネント190の一覧として有するとともに、コンポーネント190が配置される1つ以上の画面領域からなるレイアウトのパターンとしてレイアウト180の一覧を有している。そして、各レイアウト180および各コンポーネント190は、それぞれ、デバイス毎に最適化された画面出力をするように作成されたテンプレートを有しており、Webサーバシステム100は、これらに基づいてデバイス毎に最適化された画面出力を自動的に行う。
(Embodiment 1)
<System configuration>
FIG. 1 is a diagram showing an outline of a configuration example of a Web server system according to the first embodiment of the present invention. The Web server system 100 according to the first embodiment of the present invention converts the screen parts into components and has a list of components 190, and the layout 180 includes a layout pattern including one or more screen areas in which the components 190 are arranged. Has a list. Each layout 180 and each component 190 has a template created so as to output a screen optimized for each device, and the Web server system 100 is optimized for each device based on these templates. Automatic screen output.

Webサーバシステム100は、例えば、サーバ機器やクラウドコンピューティングサービス上に構築された仮想サーバからなるサーバシステムであり、例えば、図示しないOS(Operating System)や、Webサーバプログラム110、言語処理系120、フレームワーク130などのミドルウェアや基盤等の上で稼働する、もしくはこれらを利用するソフトウェアとして、MVC(Model View Controller)モデルによって開発、実装されたコントローラ140、モデル150、エディットビュー160、コンポーネントビュー170、レイアウト180およびコンポーネント190などの各部(モジュール)を有する。   The Web server system 100 is a server system composed of, for example, a server device or a virtual server built on a cloud computing service. For example, an OS (Operating System) not shown, a Web server program 110, a language processing system 120, As a software that runs on or uses middleware or infrastructure such as the framework 130, a controller 140, model 150, edit view 160, component view 170, developed and implemented by an MVC (Model View Controller) model, Each unit (module) such as a layout 180 and a component 190 is included.

Webサーバプログラム110としては、例えば、Apache(登録商標) HTTP Serverなど、Webサーバにおいて一般的に用いられているものを適宜用いることができる。また、Webサーバプログラム110上で稼働するアプリケーションシステムの基盤となる言語処理系120およびフレームワーク130としては、例えば、動的なWebページを作成するために用いられるPHPなどのスクリプト言語、およびPHPで実装されたZend Frameworkなどを適宜用いることができる。   As the Web server program 110, for example, an Apache (registered trademark) HTTP Server or the like generally used in a Web server can be used as appropriate. Further, as the language processing system 120 and the framework 130 which are the basis of an application system running on the Web server program 110, for example, a script language such as PHP used for creating a dynamic Web page, and PHP are used. A mounted Zend Framework or the like can be used as appropriate.

コントローラ140は、MVCモデルにおけるコントローラ(C)としての機能を有し、クライアント端末200上の図示しないWebブラウザ等からのリクエストを受けて、モデル150に対してデータの操作要求を行ってデータを取得したり、エディットビュー160に対して画面表示を要求したりする。モデル150は、MVCモデルにおけるモデル(M)としての機能を有し、ビジネスロジックを実行してデータの操作や取得を行う機能を有する。ビジネスロジック(BL)は、例えば、データベースなどを有する他のBLサーバ300に対して要求を行って実行させるようにしてもよい。   The controller 140 has a function as a controller (C) in the MVC model, receives a request from a web browser or the like (not shown) on the client terminal 200, makes a data operation request to the model 150, and acquires data. Or requesting the edit view 160 to display a screen. The model 150 has a function as a model (M) in the MVC model, and has a function of operating and acquiring data by executing business logic. The business logic (BL) may be executed by making a request to another BL server 300 having a database, for example.

エディットビュー160およびコンポーネントビュー170は、MVCモデルにおけるビュー(V)としての機能を有し、モデル150のデータに基づいて画面生成を行って表示する機能を有する。エディットビュー160は、画面の構成を行う機能を有し、後述するように、画面において用いるレイアウト180を指定するとともに、レイアウト180によって表示される領域に配置するコンポーネント190をそれぞれ呼び出して設定を行う。コンポーネントビュー170は、このレイアウト180およびコンポーネント190の情報に基づいてレンダリングを行ってHTML(HyperText Markup Language)データを作成し、クライアント端末200に対して出力する。   The edit view 160 and the component view 170 have a function as a view (V) in the MVC model, and have a function of generating and displaying a screen based on the data of the model 150. The edit view 160 has a function for configuring the screen. As will be described later, the edit view 160 designates a layout 180 to be used on the screen and calls and sets a component 190 arranged in an area displayed by the layout 180. The component view 170 performs rendering based on the information of the layout 180 and the component 190 to create HTML (HyperText Markup Language) data, and outputs the data to the client terminal 200.

このとき、コンポーネントビュー170は、後述するように、クライアント端末200のデバイスに応じてレイアウト180およびコンポーネント190に対して設定されている画面表示のためのWebテンプレートをテンプレートエンジン171により処理することで、対象のデバイスに最適化された画面出力を行う。   At this time, as described later, the component view 170 processes a Web template for screen display set for the layout 180 and the component 190 according to the device of the client terminal 200 by the template engine 171, thereby Perform screen output optimized for the target device.

Webテンプレートは、図示するように、クライアント端末200の種別(PC、スマートフォン(スマホ)、タブレット端末)毎に、レイアウト180に対するものとして、それぞれ、テンプレート(PC用)181p、テンプレート(スマホ用)181s、テンプレート(タブレット用)181t(これらを総称してテンプレート181と記載する場合がある)、およびコンポーネント190に対するものとして、それぞれ、テンプレート(PC用)191p、テンプレート(スマホ用)191s、テンプレート(タブレット用)191t(これらを総称してテンプレート191と記載する場合がある)を有する。図1の例では、PC、スマートフォン、およびタブレット端末の別にテンプレート181および191を用意しているが、これに限らず、他のデバイスのものや、同じ種類でも画面サイズが異なったり、OSやWebブラウザが異なるデバイスのものを有していてもよい。   As shown in the figure, for each type of client terminal 200 (PC, smartphone (smartphone), tablet terminal), the web templates are for the layout 180, respectively, a template (for PC) 181p, a template (for smartphone) 181s, As for the template (for tablet) 181t (which may be collectively referred to as the template 181) and the component 190, template (for PC) 191p, template (for smartphone) 191s, template (for tablet), respectively 191t (these may be collectively referred to as a template 191). In the example of FIG. 1, templates 181 and 191 are prepared separately for PCs, smartphones, and tablet terminals. However, the present invention is not limited to this. The browser may have a different device.

テンプレートエンジン171は、テンプレート181および191などのWebテンプレートに規定されたデザインや外観の内容に基づいて実際の画面を作成する機能を有する。なお、テンプレートエンジン171には、例えば、PHPにおいて主に用いられているSmartyなどの一般的なテンプレートエンジンを適宜用いることができる。   The template engine 171 has a function of creating an actual screen based on the design and appearance content defined in the Web templates such as the templates 181 and 191. As the template engine 171, for example, a general template engine such as Smarty mainly used in PHP can be used as appropriate.

コントローラ140やコンポーネントビュー170は、Webサーバシステム100として汎用的に提供することができる。また、画面部品としてのレイアウト180やコンポーネント190(テンプレート181および191も含む)は、他の開発案件で作成されたものを再利用したり、対象の開発案件において予め作成されたものを用いたりすることができる。また、モデル150についても、対象の開発案件等において別途作成されたものを用いることができる。一方、エディットビュー160は、画面開発者がソースコードとして作成することになるが、デバイス毎の相違は、テンプレート181や191(およびテンプレートエンジン171)が吸収するため、画面開発者がデバイス毎の相違を意識することは不要である。   The controller 140 and the component view 170 can be provided for general use as the Web server system 100. Further, the layout 180 and the component 190 (including the templates 181 and 191) as screen parts are reused those created in other development projects, or those created in advance in the target development project are used. be able to. As the model 150, a model 150 separately created in a target development project or the like can be used. On the other hand, the edit view 160 is created as a source code by the screen developer. However, since the difference for each device is absorbed by the templates 181 and 191 (and the template engine 171), the screen developer has the difference for each device. It is not necessary to be aware of

<レイアウトとコンポーネント>
図2は、本実施の形態におけるデバイス毎のレイアウトの相違の例について概要を示した図である。レイアウトとは、画面全体を1つ以上の領域に区分し、その領域の配置のパターンを指すものであり、図2(a)では、タブレット端末でのレイアウト、図2(b)では、スマートフォンでのレイアウトの例をそれぞれ示している。
<Layout and components>
FIG. 2 is a diagram showing an outline of an example of a layout difference for each device in the present embodiment. The layout refers to the layout pattern of the entire screen divided into one or more areas. In FIG. 2A, the layout on the tablet terminal, and in FIG. 2B, the smartphone. Each of the layout examples is shown.

図2の例では、レイアウト180として「一覧、明細型レイアウト」を選択した場合を示しており、ヘッダ領域(ヘッダ領域401、411)およびフッタ領域(フッタ領域404、414)の他に、複数の項目を一覧表示する一覧領域(一覧領域402、412)と、その中から特定の項目を選択した際にその詳細な内容を表示するコンテンツ領域(コンテンツ領域403、413)とを有するレイアウトについて示している。   In the example of FIG. 2, a case where “list, detailed layout” is selected as the layout 180 is shown. In addition to the header area (header areas 401 and 411) and the footer area (footer areas 404 and 414), a plurality of items are displayed. A layout having a list area (list areas 402 and 412) for displaying a list of items and a content area (content areas 403 and 413) for displaying detailed contents when a specific item is selected from the list area is shown. Yes.

図示するように、図2(a)のレイアウトでは、1つの画面内に4つの領域が全て配置されている。一方、図2(b)のレイアウトでは、左側の画面において一覧領域412が表示されている状態で、一覧領域412の中から特定の項目を選択すると、右側の画面に遷移して、一覧領域412に代って、選択された項目を表示するためのコンテンツ領域413が表示されることを示している。同一のレイアウト180におけるこのようなデバイス毎の相違は、上述したように、テンプレート181(この場合はテンプレート(タブレット用)181tおよびテンプレート(スマホ用)181s)に規定され、コンポーネントビュー170のテンプレートエンジン171によって実際の画面に反映される。   As shown in the figure, in the layout of FIG. 2A, all four areas are arranged in one screen. On the other hand, in the layout of FIG. 2B, when a specific item is selected from the list area 412 while the list area 412 is displayed on the left screen, the screen changes to the right screen and the list area 412 is displayed. Instead, the content area 413 for displaying the selected item is displayed. Such a difference for each device in the same layout 180 is defined in the template 181 (in this case, the template (for tablet) 181t and the template (for smartphone) 181s), as described above, and the template engine 171 of the component view 170 Is reflected on the actual screen.

このように、画面上に表示される部品やコントロールの単位だけではなく、画面全体のレイアウト(画面遷移を伴うものも含む)の単位でも、レイアウト180およびテンプレート181によりデバイス毎の相違を吸収・隠蔽する。これにより、デバイスによっては画面遷移を伴うレイアウトを有しているような場合であっても、エディットビュー160についてはデバイスを意識することなく開発することができる。   In this way, the layout 180 and the template 181 absorb and conceal the differences for each device not only in the parts and control units displayed on the screen, but also in the layout of the entire screen (including those with screen transitions). To do. Thus, even if the device has a layout with screen transition, the edit view 160 can be developed without being aware of the device.

図3は、本実施の形態におけるデバイス毎のレイアウトの相違の他の例について概要を示した図である。図2と同様に、図3(a)では、タブレット端末でのレイアウト、図3(b)では、スマートフォンでのレイアウトの例をそれぞれ示している。図3の例では、レイアウト180として「検索条件、結果表示型レイアウト」を選択した場合を示しており、ヘッダ領域(ヘッダ領域401、411)およびフッタ領域(フッタ領域404、414)の他に、検索の際の条件を入力、指定するパーツ等を表示する検索条件領域(検索条件領域405、415)と、その検索条件に基づく検索結果を表示する検索結果領域(検索結果領域406、416)とを有するレイアウトについて示している。   FIG. 3 is a diagram showing an outline of another example of a layout difference for each device in the present embodiment. Similar to FIG. 2, FIG. 3A shows an example of a layout on a tablet terminal, and FIG. 3B shows an example of a layout on a smartphone. In the example of FIG. 3, a case where “search condition, result display type layout” is selected as the layout 180 is shown. In addition to the header area (header areas 401 and 411) and the footer area (footer areas 404 and 414), A search condition area (search condition area 405, 415) for displaying a part or the like for inputting and specifying a search condition, and a search result area (search result area 406, 416) for displaying a search result based on the search condition A layout having

例えば、図3(a)と図2(a)において各領域の配置が異なるように、エディットビュー160において指定するレイアウト180を変更することで、コンポーネントビュー170のテンプレートエンジン171によって各領域のデザイン、外観を自動的に切り替えることができる。   For example, by changing the layout 180 specified in the edit view 160 so that the arrangement of the areas in FIGS. 3A and 2A is different, the design of each area can be performed by the template engine 171 of the component view 170. The appearance can be switched automatically.

図4は、本実施の形態におけるデバイス毎のコンポーネント表示の相違の例について概要を示した図である。図2と同様に、図4(a)では、タブレット端末でのレイアウト、図4(b)では、スマートフォンでのレイアウトの例を示しており、それぞれ、図2の例で示した「一覧、明細型レイアウト」において「メニュー」のコンポーネント190をヘッダ領域401、411に表示させた場合を示している。   FIG. 4 is a diagram showing an outline of an example of a difference in component display for each device in the present embodiment. As in FIG. 2, FIG. 4A shows an example of a layout on a tablet terminal, and FIG. 4B shows an example of a layout on a smartphone. The “list, details” shown in the example of FIG. In the “type layout”, the “menu” component 190 is displayed in the header areas 401 and 411.

図示するように、図4(a)のタブレット端末でのレイアウトでは、ヘッダ領域401に4つのメニューボタンが横並びに表示されている。一方、図4(b)のスマートフォンのレイアウトでは、左側の画面において、ヘッダ領域411にはメニューを表示させるアイコンのみが表示されており、このアイコンをタップすると右側の画面に遷移して、ヘッダ領域411が拡張され(ヘッダ領域411’)、この領域にメニューボタンが縦並びに表示されることを示している。同一のコンポーネント190におけるこのようなデバイス毎の相違は、レイアウト180の場合と同様に、テンプレート191(この場合はテンプレート(タブレット用)191tおよびテンプレート(スマホ用)191s)に規定され、コンポーネントビュー170のテンプレートエンジン171によって実際の画面に反映される。   As shown in the figure, in the layout of the tablet terminal of FIG. 4A, four menu buttons are displayed side by side in the header area 401. On the other hand, in the smartphone layout of FIG. 4B, only the icon for displaying the menu is displayed in the header area 411 on the left screen, and when this icon is tapped, the screen transitions to the right screen, and the header area 411 is expanded (header area 411 ′), indicating that menu buttons are displayed vertically in this area. Similar to the layout 180, such a difference for each device in the same component 190 is defined in the template 191 (in this case, the template (for tablet) 191t and the template (for smartphone) 191s). Reflected on the actual screen by the template engine 171.

なお、本実施の形態におけるコンポーネント190は、1つの画面パーツやコントロールからなるものに限らず、図示するように、複数のパーツやコントロール(図4の例では4つのメニューボタン)の集合や組み合わせによって構成してもよい。   The component 190 in the present embodiment is not limited to a single screen part or control. As shown in the figure, the component 190 is a combination or combination of a plurality of parts and controls (four menu buttons in the example of FIG. 4). It may be configured.

図5は、本実施の形態におけるデバイス毎のコンポーネント表示の相違の他の例について概要を示した図である。図3と同様に、図5(a)では、タブレット端末でのレイアウト、図5(b)では、スマートフォンでのレイアウトの例を示しており、それぞれ、図3の例で示した「検索条件、結果表示型レイアウト」において「検索結果一覧」のコンポーネント190を検索結果領域406、416に表示させた場合を示している。図示するように、図5(a)のタブレット端末でのレイアウトでは、検索結果領域406に検索結果一覧が表形式で表示されている。一方、図5(b)のスマートフォンのレイアウトでは、遷移した右側の画面の検索結果領域416に検索結果一覧がリスト形式で縦並びに表示されることを示している。   FIG. 5 is a diagram showing an outline of another example of the difference in component display for each device in the present embodiment. Similar to FIG. 3, FIG. 5A shows an example of layout on a tablet terminal, and FIG. 5B shows an example of layout on a smartphone. In the “result display type layout”, the “search result list” component 190 is displayed in the search result areas 406 and 416. As illustrated, in the layout of the tablet terminal in FIG. 5A, a search result list is displayed in the search result area 406 in a table format. On the other hand, the layout of the smartphone in FIG. 5B shows that the search result list is displayed vertically in a list format in the search result area 416 of the screen on the right side after the transition.

<処理の流れ>
図6は、エディットビュー160での指定内容と、これに伴う画面表示時の処理の流れの例について概要を示した図である。上述したように、画面開発者は、ソースコードとして以下の処理を行うようなエディットビュー160を作成するが、その中では、デバイス毎の相違を意識することなくレイアウト180およびコンポーネント190を指定して配置、設定するだけでよい。デバイス毎に最適化された画面表示は、テンプレート181や191に規定された内容に基づいてコンポーネントビュー170(およびテンプレートエンジン171)が実行時に動的に行う。
<Process flow>
FIG. 6 is a diagram showing an overview of the specification content in the edit view 160 and an example of the flow of processing at the time of screen display associated therewith. As described above, the screen developer creates an edit view 160 that performs the following processing as source code. In that, the layout developer 180 specifies the layout 180 and the component 190 without being conscious of the differences between devices. Just place and set. The screen display optimized for each device is dynamically performed by the component view 170 (and the template engine 171) at the time of execution based on the contents defined in the templates 181 and 191.

エディットビュー160では、まず、予め作成されているレイアウト180の一覧の中から、画面表示に用いるレイアウト180を取得する(S01)。この時点ではレイアウト180に設定された各領域にはまだ何も表示すべきコンポーネント190は配置されていない。次に、予め作成されているコンポーネント190の一覧の中から、ステップS01で取得したレイアウト180に配置する1つ以上のコンポーネント190を取得する(S02)。この時点ではまだコンポーネント190には表示すべきデータなどの設定は何もされていない。   In the edit view 160, first, a layout 180 used for screen display is acquired from a list of layouts 180 created in advance (S01). At this point, no component 190 that should display anything has been placed in each area set in the layout 180. Next, one or more components 190 arranged in the layout 180 acquired in step S01 are acquired from the list of components 190 created in advance (S02). At this point, the component 190 has not been set to data to be displayed.

その後、ステップS190で取得した各コンポーネント190に対して、表示すべきデータとして、モデル150から取得したデータを設定する(S03)。なお、モデル150によるデータの取得は、コントローラ140を介した指示により実行される。次に、データを設定した各コンポーネント190を、ステップS01で取得したレイアウト180における適当な領域に配置されるよう位置指定する(S04)。そして、各コンポーネント190の配置位置を指定したレイアウト180をコンポーネントビュー170に渡して画面描画を指示する(S05)。   Thereafter, the data acquired from the model 150 is set as data to be displayed for each component 190 acquired in step S190 (S03). Note that data acquisition by the model 150 is executed by an instruction via the controller 140. Next, each component 190 for which data is set is designated so as to be arranged in an appropriate area in the layout 180 acquired in step S01 (S04). Then, the layout 180 designating the arrangement position of each component 190 is transferred to the component view 170 to instruct screen drawing (S05).

このとき、クライアント端末200のデバイスの種類に係る情報も併せてコンポーネントビュー170に渡す(もしくはコンポーネントビュー170自身がリクエストメッセージの内容から取得する)。デバイスの種類に係る情報は、例えば、クライアント端末200からのリクエストメッセージのUser−Agentヘッダから取得するなど、公知の技術により取得することができる。なお、ここでのデバイスの種類に係る情報には、機器の種別の他に、例えば、OS、Webブラウザやそのバージョン等の情報も含まれるものとする。   At this time, information related to the device type of the client terminal 200 is also passed to the component view 170 (or the component view 170 itself acquires from the content of the request message). Information related to the type of device can be acquired by a known technique such as acquiring from the User-Agent header of the request message from the client terminal 200, for example. Here, it is assumed that the information related to the device type includes, for example, information such as the OS, the Web browser, and its version in addition to the device type.

コンポーネントビュー170では、渡されたレイアウト180および各コンポーネント190について、それぞれ、デバイスの種類に対応したテンプレート181および191を取得して、テンプレートに規定されているデザインに従ってデータを含めた画面描画を行う。例えば、各コンポーネント190については、デバイスの種類(図6の例ではスマートフォン)に対応したテンプレート(スマホ用)191sを取得して、これに規定されているデザインに基づいてデータを含めてコンポーネント190を画面描画する(図6の例では検索結果の一覧表示)。また、レイアウト180については、テンプレート181sを取得して、これに規定されているデザインに基づいて各領域を描画するとともに、指定された領域の位置に画面描画された各コンポーネント190を配置する(図6の例では検索結果領域416に検索結果の一覧表示を配置する)。   In the component view 170, templates 181 and 191 corresponding to the device type are acquired for the passed layout 180 and each component 190, and screen drawing including data is performed according to the design defined in the template. For example, for each component 190, a template (for smartphone) 191s corresponding to the type of device (smartphone in the example of FIG. 6) is acquired, and the component 190 is included by including data based on the design defined therein. Screen drawing is performed (in the example of FIG. 6, a list of search results is displayed). As for the layout 180, the template 181s is acquired, and each area is drawn based on the design defined therein, and each component 190 drawn on the screen is placed at the position of the designated area (see FIG. In the example of FIG. 6, a list display of search results is arranged in the search result area 416).

以上に説明したように、本発明の実施の形態1であるWebサーバシステム100によれば、画面パーツをコンポーネント化するとともに、コンポーネント190が配置される1つ以上の領域からなるレイアウト180のパターンを有している。そして、各レイアウト180および各コンポーネント190は、それぞれ、デバイス毎に最適化された画面出力をするように作成されたテンプレート181、191を有しており、Webサーバシステム100は、これらのテンプレートを処理するテンプレートエンジン171を有するコンポーネントビュー170を備える。   As described above, according to the Web server system 100 according to the first embodiment of the present invention, the screen parts are converted into components, and the layout 180 pattern including one or more areas in which the components 190 are arranged is displayed. Have. Each layout 180 and each component 190 have templates 181 and 191 created so as to output screens optimized for each device. The Web server system 100 processes these templates. A component view 170 having a template engine 171 is provided.

これにより、画面のレイアウトおよびコンポーネントが部品化され、エディットビュー160のソースコードにおいてこれらを呼び出すことにより、デバイスに応じて最適化された画面表示を動的に行うことが可能となる。すなわち、画面開発者は、デバイス毎の相違を意識することなくエディットビュー160のソースコードを作成することができる。さらに、レイアウト180やコンポーネント190におけるデータの処理や振る舞いを制御する機能と、テンプレート181、191によって規定されるデザイン(HTMLやCSS(Cascading Style Sheets)など)とを分離することで、デザイナーによる開発成果物を画面パーツとして容易に取り込むことが可能となる。   As a result, the screen layout and components are converted into parts, and by calling these in the source code of the edit view 160, it is possible to dynamically perform screen display optimized according to the device. That is, the screen developer can create the source code of the edit view 160 without being conscious of the difference between devices. Furthermore, by separating the functions for controlling the processing and behavior of data in the layout 180 and the component 190 from the design (HTML, CSS (Cascading Style Sheets), etc.) defined by the templates 181, 191, the development results by the designer Objects can be easily captured as screen parts.

(実施の形態2)
上記の実施の形態1において、画面開発者は、エディットビュー160のソースコードから部品化されたコンポーネント190を呼び出すことで画面開発を行うことができる。しかしながら、そもそもどのようなコンポーネント190が存在し、そのうちのいずれが利用可能であるのか、また、対象のコンポーネント190を利用するためにソースコード上でどのように実装すればよいのか、などは把握し難い。
(Embodiment 2)
In the first embodiment described above, the screen developer can perform screen development by calling the component 190 converted into a part from the source code of the edit view 160. However, what kind of components 190 are present in the first place, which of them are available, and how to implement them on the source code in order to use the target components 190 are understood. hard.

そこで、本発明の実施の形態2である開発支援システムは、画面開発者が利用可能なコンポーネント190の一覧と、その実際の画面表示例を画面開発者が視覚的に把握することを可能とするコンポーネント管理機能を提供する。また、ソースコード上での実装例(サンプルコード)を併せて提供することにより、ソースコードの開発負荷を低減することを可能とする。具体的には、画面開発者が利用可能なコンポーネント190を一覧表示するようなWebアプリケーションを、上記の実施の形態1におけるWebサーバシステム100を利用して、Webサーバシステム100上で稼働する1つのアプリケーションとして実装することで実現する。   Therefore, the development support system according to the second embodiment of the present invention enables the screen developer to visually grasp the list of components 190 that can be used by the screen developer and the actual screen display examples. Provides component management functions. Also, by providing an implementation example (sample code) on the source code, the development load of the source code can be reduced. Specifically, a web application that displays a list of components 190 that can be used by the screen developer is operated on the web server system 100 using the web server system 100 according to the first embodiment. Realized by mounting as an application.

<システム構成>
図7は、本発明の実施の形態2である開発支援システムの構成例について概要を示した図である。本実施の形態の開発支援システム101は、上述したように、実施の形態1において図1に示したWebサーバシステム100をベースとして構成された開発環境であり、画面開発者が使用するPC等の開発者端末201に対して、利用可能なコンポーネント190の一覧を画面上に実際に表示するコンポーネント管理機能を提供するシステムである。
<System configuration>
FIG. 7 is a diagram showing an outline of a configuration example of the development support system according to the second embodiment of the present invention. As described above, the development support system 101 of the present embodiment is a development environment configured based on the Web server system 100 shown in FIG. 1 in the first embodiment, such as a PC used by a screen developer. This is a system that provides a component management function for the developer terminal 201 to actually display a list of available components 190 on the screen.

開発支援システム101におけるWebサーバプログラム110、言語処理系120、およびフレームワーク130については、実施の形態1の図1に示したWebサーバシステム100と同様であるため、説明は省略する。   The Web server program 110, language processing system 120, and framework 130 in the development support system 101 are the same as those in the Web server system 100 shown in FIG.

コンポーネント管理コントローラ141は、MVCモデルにおけるコントローラ(C)としての機能を有し、本実施の形態では、開発者端末201上の図示しないWebブラウザ等からのリクエストを受けて、後述するコンポーネント管理モデル151から、開発者端末201を使用する開発者が利用可能なコンポーネント190のリストの情報を取得する。また、取得したコンポーネント190のリストについて、後述するコンポーネント一覧ビュー161に対して実際に画面表示するよう要求する。   The component management controller 141 has a function as a controller (C) in the MVC model. In this embodiment, the component management controller 141 receives a request from a web browser (not shown) on the developer terminal 201 and receives a component management model 151 described later. From this, information on the list of components 190 that can be used by the developer who uses the developer terminal 201 is acquired. Further, the component list view 161 described later is requested to actually display the acquired list of components 190 on the screen.

コンポーネント管理モデル151は、MVCモデルにおけるモデル(M)としての機能を有し、本実施の形態では、利用可能なコンポーネント190のリストの情報を取得してコンポーネント管理コントローラ141に応答する。これを実現するため、本実施の形態では、全てのコンポーネント190(実際には、当該コンポーネント190のソースコードが記録されたファイル)は、所定のフォルダやディレクトリに配置されているものとする。コンポーネント管理モデル151は、当該フォルダ等に存在する各コンポーネント190のソースコードの内容を参照することで、各コンポーネント190に係る各種の情報を把握することができる。例えば、コンポーネント190のソースコードにおいて、所定のルールに従ったアノテーションにより、当該コンポーネント190に係る詳細情報などをメタ情報として記載しておくことで、当該情報を読み取って把握することができる。   The component management model 151 has a function as a model (M) in the MVC model. In this embodiment, the component management model 151 acquires information on a list of available components 190 and responds to the component management controller 141. In order to realize this, in the present embodiment, it is assumed that all the components 190 (actually, files in which the source code of the component 190 is recorded) are arranged in a predetermined folder or directory. The component management model 151 can grasp various types of information related to each component 190 by referring to the contents of the source code of each component 190 existing in the folder or the like. For example, in the source code of a component 190, by describing detailed information and the like related to the component 190 as meta information by annotation according to a predetermined rule, the information can be read and grasped.

コンポーネント一覧ビュー161は、MVCモデルにおけるビュー(V)としての機能を有し、コンポーネント管理モデル151のデータに基づいて画面生成を行って表示する機能を有する。すなわち、本実施の形態では、コンポーネント管理モデル151が取得した利用可能なコンポーネント190の情報に基づいて、その一覧を画面上に実際に表示する。   The component list view 161 has a function as a view (V) in the MVC model, and has a function of generating and displaying a screen based on data of the component management model 151. That is, in the present embodiment, the list is actually displayed on the screen based on the information of the available components 190 acquired by the component management model 151.

なお、実施の形態1では、コンポーネント190を含む画面を表示するクライアント端末200のデバイスにより、レイアウト180を最適化するものとしていたが、本実施の形態では、コンポーネント190を一覧表示する際にはデバイス毎のレイアウトの相違を考慮せずに、一律に固定のレイアウトとする。本実施の形態では、ソースコードの開発・作成というフェーズの作業を行うための開発者端末201として、タブレット端末やスマホなどの携帯型端末が用いられることはあまりなく、PCが中心として用いられると考えられるからである。   In the first embodiment, the layout 180 is optimized by the device of the client terminal 200 that displays the screen including the component 190. However, in the present embodiment, the device 190 is displayed when the component 190 is displayed as a list. The layout is uniformly fixed without considering the difference in layout. In this embodiment, a portable terminal such as a tablet terminal or a smartphone is rarely used as the developer terminal 201 for performing the phase of development and creation of source code, and a PC is mainly used. It is possible.

従って、図7の例では、実施の形態1の図1の例におけるレイアウト180の一覧を有さない構成となっている。これに対し、開発者端末201の画面表示において一律に固定のレイアウトとする手法として、例えば、図1のWebサーバシステム100におけるレイアウト180を有する構成とした上でテンプレート(PC用)181pのみを用いるようにしてもよい。   Therefore, the example of FIG. 7 has a configuration that does not have the list of layouts 180 in the example of FIG. 1 of the first embodiment. On the other hand, as a method for uniformly fixing the display on the screen of the developer terminal 201, for example, only the template (for PC) 181p is used after having the configuration having the layout 180 in the Web server system 100 of FIG. You may do it.

また、各コンポーネント190を実際に表示するために、本実施の形態では、各コンポーネント190について、表示に用いるダミーのサンプルデータの設定等を含む、表示用のサンプルコード192が用意されている。コンポーネント一覧ビュー161は、このサンプルコード192を用いることでコンポーネント190を呼び出すことができる。   In addition, in order to actually display each component 190, in the present embodiment, a sample code 192 for display including dummy sample data settings used for display is prepared for each component 190. The component list view 161 can call the component 190 by using this sample code 192.

コンポーネント190の実際の画面表示は、実施の形態1の場合と同様に、テンプレートエンジン171が、デバイス毎に最適化された画面出力を行うよう作成されたテンプレートを呼び出してこれを処理することで表示する。後述するように、開発者端末201に表示される画面においてデバイスの種類を指定できるようにすることで、指定されたデバイスに応じたテンプレートを用いてコンポーネント190の画面表示を切り替える。これにより、同一の開発者端末201上でデバイス毎に画面表示を動的に切り替えてコンポーネント190の外観等を確認することができる。   The actual screen display of the component 190 is displayed by the template engine 171 calling and processing a template created to perform screen output optimized for each device, as in the case of the first embodiment. To do. As will be described later, by enabling the designation of the device type on the screen displayed on the developer terminal 201, the screen display of the component 190 is switched using a template corresponding to the designated device. As a result, on the same developer terminal 201, the screen display can be dynamically switched for each device, and the appearance of the component 190 can be confirmed.

なお、本実施の形態では、Webアプリケーションの開発環境である開発支援システム101を、実行環境である実施の形態1の図1に示したWebサーバシステム100とは別に独立して実装した場合を例としているが、これらを同一のサーバシステムとして共存させる構成とすることも可能である。   In the present embodiment, an example in which the development support system 101 that is the development environment of the web application is implemented independently of the web server system 100 illustrated in FIG. 1 of the first embodiment that is the execution environment. However, it is also possible to adopt a configuration in which these coexist as the same server system.

<画面例>
図8は、開発支援システム101によって開発者端末201の画面上に表示されるコンポーネント190の一覧表示画面の例について概要を示した図である。画面上部では、各コンポーネント190を表示する際の形式として、対象のデバイスを選択することができる(図8の例では「タブレット」が選択されている)。開発者端末201の実際のデバイス種別に関わらず、ここで選択したデバイスに最適化された表示形式で各コンポーネント190を表示することで、デバイスをエミュレートする。これを実現するため、例えば、開発者端末201から開発支援システム101に対してコンポーネント190の一覧表示のリクエストを送信する際に、リクエストに含まれるデバイスを特定する情報を、ここで選択されたデバイスによって更新する等の対応を行う。
<Screen example>
FIG. 8 is a diagram showing an outline of an example of a list display screen of components 190 displayed on the screen of the developer terminal 201 by the development support system 101. In the upper part of the screen, a target device can be selected as a format for displaying each component 190 (in the example of FIG. 8, “tablet” is selected). Regardless of the actual device type of the developer terminal 201, the device is emulated by displaying each component 190 in a display format optimized for the device selected here. In order to realize this, for example, when a request to display a list of components 190 is transmitted from the developer terminal 201 to the development support system 101, information for specifying a device included in the request is selected as the device selected here. To do so.

画面左部では、コンポーネント190を絞り込むための条件等を指定することができる。例えば、各コンポーネント190に対して設定されているカテゴリによって絞り込んだり、各コンポーネント190を利用可能な(もしくは利用している)モジュールやアプリケーションによって絞り込んだりすることができる。図8の例では「モジュール」によって絞り込むよう指定されており、チェックマークが付されているモジュールやアプリケーションが利用可能なコンポーネント190の一覧が画面右部に表示されている。なお、各モジュールやアプリケーションがどのコンポーネント190を利用可能であるかについての情報は、例えば、設定ファイルなどにモジュールやアプリケーション毎に別途設定、登録しておくなどすることができる。   In the left part of the screen, conditions for narrowing down the components 190 can be specified. For example, it is possible to narrow down by a category set for each component 190, or narrow down by a module or application that can use (or use) each component 190. In the example of FIG. 8, it is specified to narrow down by “module”, and a list of components 190 that can be used by modules and applications with check marks is displayed on the right side of the screen. Information about which component 190 each module or application can use can be set and registered separately for each module or application in a setting file, for example.

画面右部では、各コンポーネント190について、コンポーネント名に加えて、コンポーネント190の詳細情報として、機能概要や主要なAPI(Application Programming Interface)の情報などが表示されている(詳細情報は選択的に非表示とすることもできる)。これらの情報や、コンポーネント190のカテゴリなどの他の属性情報などは、例えば、各コンポーネント190のソースコードにおいて、開発者が所定のルールに従ったアノテーションによりメタ情報として記載しておく。これにより、コンポーネント管理モデル151が各コンポーネント190のソースコードを参照することで、これらの情報を動的に取得することができる。   On the right side of the screen, for each component 190, in addition to the component name, as a detailed information of the component 190, a function overview, information on main API (Application Programming Interface), and the like are displayed (the detailed information is selectively hidden). Display). Such information and other attribute information such as the category of the component 190 are described as meta information by an annotation in accordance with a predetermined rule by the developer in the source code of each component 190, for example. Thus, the component management model 151 can dynamically acquire these pieces of information by referring to the source code of each component 190.

上記の情報に加えて、各コンポーネント190について、対象のデバイスでの実際の表示イメージも併せて表示される。表示イメージの右部には、各コンポーネント190について個別に表示対象のデバイスを切り替えることができるボタンが設けられている。ここで表示される表示イメージは、上述したように、例えば、表示用のダミーのサンプルデータの設定も含めて、当該コンポーネント190を表示するためのサンプルコード192によって実装されている。   In addition to the above information, the actual display image on the target device is also displayed for each component 190. On the right side of the display image, buttons that can individually switch the display target device for each component 190 are provided. As described above, the display image displayed here is implemented by, for example, the sample code 192 for displaying the component 190 including the setting of dummy sample data for display.

このように、利用可能なコンポーネント190について、その実際の表示イメージも併せて一覧表示することで、画面開発者は、画面に実際に配置するコンポーネント190を効率的に決定することが可能となる。   In this way, by displaying a list of available components 190 together with their actual display images, the screen developer can efficiently determine the components 190 that are actually arranged on the screen.

画面に配置するコンポーネント190を決定すると、画面開発者は、アプリケーションのソースコードにおいてこれを呼び出すコードを実際に記載しなければならない。これを効率的に行えるようにするため、本実施の形態では、さらに、各コンポーネント190のAPIの詳細な仕様情報、およびソースコードの記載に際して直接用いることができるサンプルコード192を提供し、参照可能としている。これらはそれぞれ、例えば、図8の例におけるコンポーネント190の機能概要を表示する欄に配置された「API」ボタンおよび「src」ボタンを開発者が押下することで表示させることができる。   Once the component 190 to be placed on the screen is determined, the screen developer must actually write the code that calls it in the application source code. In order to enable this to be performed efficiently, the present embodiment further provides detailed specification information on the API of each component 190 and sample code 192 that can be directly used when describing the source code. It is said. These can be displayed, for example, when the developer presses the “API” button and the “src” button arranged in the column for displaying the function outline of the component 190 in the example of FIG.

例えば、APIの仕様情報を表示する画面では、対象のコンポーネント190について、その機能概要や、クラスの階層構造、利用可能なAPI(メソッド)についてのパラメータ等の仕様情報の一覧などを表示する。これらの詳細情報は、上述したように、コンポーネント190のソースコードにアノテーションとして記載しておくことで、コンポーネント管理モデル151が動的に取得することができる。   For example, on the screen displaying the API specification information, the function summary, the class hierarchy, a list of specification information such as parameters for available APIs (methods), etc. are displayed for the target component 190. As described above, the detailed information can be dynamically acquired by the component management model 151 by describing the detailed information as an annotation in the source code of the component 190.

図9は、開発支援システム101によって開発者端末201の画面上に表示されるサンプルコード192の例について示した図である。ここでは、コンポーネント190の呼び出しに加えて、コンポーネント190に対するダミーのサンプルデータの設定を行っている(9行目〜15行目)。画面開発者は、これを参照することで対象のコンポーネント190のソースコード上での具体的な実装方法、使用方法を把握することができる。さらに、当該サンプルコード192を実際のアプリケーションのソースコードに対して直接コピー&ペーストした上で、表示データ等の設定箇所などの必要箇所を修正することで、ソースコードの開発負荷を大幅に削減することができる。   FIG. 9 is a diagram illustrating an example of the sample code 192 displayed on the screen of the developer terminal 201 by the development support system 101. Here, in addition to calling the component 190, dummy sample data is set for the component 190 (9th to 15th lines). By referring to this, the screen developer can grasp a specific mounting method and usage method of the target component 190 on the source code. Furthermore, by copying and pasting the sample code 192 directly into the source code of the actual application and modifying necessary parts such as display data and other setting parts, the development load of the source code is greatly reduced. be able to.

なお、上述したように、当該サンプルコード192は、図8に示したコンポーネント190の一覧表示画面において、実際に各コンポーネント190を表示するためにも用いられる。   As described above, the sample code 192 is also used to actually display each component 190 on the component 190 list display screen shown in FIG.

以上に説明したように、本発明の実施の形態2である開発支援システム101によれば、画面開発者が利用可能なコンポーネント190の一覧と、その実際の画面表示例を画面開発者が視覚的に把握することができるコンポーネント管理機能を実現することが可能となる。また、各コンポーネント190の詳細情報やソースコード上での実装例(サンプルコード)を併せて提供することにより、アプリケーションのソースコードの開発負荷を大きく低減させることが可能となる。   As described above, according to the development support system 101 according to the second embodiment of the present invention, a list of components 190 that can be used by the screen developer and an actual screen display example are visually displayed by the screen developer. It is possible to realize a component management function that can be grasped easily. In addition, by providing detailed information of each component 190 and an implementation example (sample code) on the source code, the development load of the source code of the application can be greatly reduced.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention. Needless to say. For example, the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to the one having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. . In addition, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.

本発明は、マルチデバイスに対応した画面表示を行うWebアプリケーションの開発を支援する開発支援システムに利用可能である。   The present invention can be used in a development support system that supports development of a Web application that displays a screen corresponding to a multi-device.

100…Webサーバシステム、101…開発支援システム、110…Webサーバプログラム、120…言語処理系、130…フレームワーク、140…コントローラ、141…コンポーネント管理コントローラ、150…モデル、151…コンポーネント管理モデル、160…エディットビュー、161…コンポーネント一覧ビュー、170…コンポーネントビュー、171…テンプレートエンジン、180…レイアウト、181p…テンプレート(PC用)、181s…テンプレート(スマホ用)、181t…テンプレート(タブレット用)、190…コンポーネント、191p…テンプレート(PC用)、191s…テンプレート(スマホ用)、191t…テンプレート(タブレット用)、
200…クライアント端末、201…開発者端末、
300…BLサーバ、
401…ヘッダ領域、402…一覧領域、403…コンテンツ領域、404…フッタ領域、405…検索条件領域、406…検索結果領域、411、411’…ヘッダ領域、412…一覧領域、413…コンテンツ領域、414…フッタ領域、415…検索条件領域、416…検索結果領域
DESCRIPTION OF SYMBOLS 100 ... Web server system, 101 ... Development support system, 110 ... Web server program, 120 ... Language processing system, 130 ... Framework, 140 ... Controller, 141 ... Component management controller, 150 ... Model, 151 ... Component management model, 160 ... Edit view, 161 ... Component list view, 170 ... Component view, 171 ... Template engine, 180 ... Layout, 181p ... Template (for PC), 181s ... Template (for smartphone), 181t ... Template (for tablet), 190 ... Component, 191p ... Template (for PC), 191s ... Template (for smartphone), 191t ... Template (for tablet),
200: Client terminal, 201: Developer terminal,
300 ... BL server,
401 ... header area, 402 ... list area, 403 ... content area, 404 ... footer area, 405 ... search condition area, 406 ... search result area, 411, 411 '... header area, 412 ... list area, 413 ... content area, 414 ... Footer area, 415 ... Search condition area, 416 ... Search result area

Claims (4)

クライアント端末からのリクエストを受けて前記クライアント端末のデバイスの種類に応じた処理結果画面を応答するWebアプリケーションの画面開発を支援する開発支援システムであって、
所定のフォルダに格納され、1つ以上の画面パーツの組み合わせからなり、前記各画面パーツが画面表示される際の外観を前記デバイスの種類毎に規定したテンプレートを有する1つ以上のコンポーネントと、
開発者端末を介して、開発者が前記Webアプリケーションの画面開発に利用可能な利用可能コンポーネントの一覧表示の要求を受け付けるコンポーネント管理コントローラと、
前記コンポーネント管理コントローラからの指示に基づいて、前記フォルダに格納されている前記コンポーネントから、前記利用可能コンポーネントの一覧情報を取得するコンポーネント管理モデルと、
前記コンポーネント管理コントローラからの指示に基づいて、前記コンポーネント管理モデルが取得した前記各利用可能コンポーネントにつき、前記開発者端末から指定されたデバイスの種類に対応した前記テンプレートによって規定される外観により一覧表示画面を作成して前記開発者端末に表示させるコンポーネント一覧ビューと、を有する、開発支援システム。
A development support system that supports screen development of a Web application that receives a request from a client terminal and responds with a processing result screen corresponding to the device type of the client terminal,
One or more components having a template that is stored in a predetermined folder and includes a combination of one or more screen parts, and defines the appearance when each screen part is displayed on the screen for each type of the device;
A component management controller that accepts a request to display a list of available components that can be used by the developer for screen development of the Web application via the developer terminal;
Based on an instruction from the component management controller, a component management model that acquires list information of the available components from the components stored in the folder;
Based on an instruction from the component management controller, for each available component acquired by the component management model, a list display screen with an appearance defined by the template corresponding to the type of device specified from the developer terminal And a component list view to be displayed on the developer terminal.
請求項1に記載の開発支援システムにおいて、
前記所定のフォルダには、前記各コンポーネントについてそれぞれWebアプリケーションにおいて利用する際のサンプルコードが記録されており、
前記コンポーネント一覧ビューは、前記一覧表示画面を作成する際、前記各利用可能コンポーネントについてのそれぞれの外観を、対応する前記サンプルコードを実行することで作成する、開発支援システム。
The development support system according to claim 1,
In the predetermined folder, sample codes for using each component in the Web application are recorded.
The component list view is a development support system that creates the appearance of each available component by executing the corresponding sample code when creating the list display screen.
請求項2に記載の開発支援システムにおいて、
前記コンポーネント一覧ビューは、前記一覧表示画面に表示された前記各利用可能コンポーネントに対応する前記サンプルコードを前記開発者端末に表示させる、開発支援システム。
The development support system according to claim 2,
The component list view is a development support system for causing the developer terminal to display the sample code corresponding to each available component displayed on the list display screen.
請求項1に記載の開発支援システムにおいて、
前記各コンポーネントのソースコードには、その詳細情報がアノテーションにより記載されており、
前記コンポーネント一覧ビューは、前記一覧表示画面に表示された前記各利用可能コンポーネントに係る詳細情報を、前記利用可能コンポーネントのソースコードの前記アノテーションの記載から取得して前記開発者端末に表示させる、開発支援システム。




The development support system according to claim 1,
Detailed information is described in annotations in the source code of each component,
The component list view is a development in which detailed information related to each available component displayed on the list display screen is acquired from the description of the annotation of the source code of the available component and displayed on the developer terminal. Support system.




JP2016563318A 2014-12-09 2014-12-09 Development support system Active JP6212657B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082488 WO2016092626A1 (en) 2014-12-09 2014-12-09 Development assistance system

Publications (2)

Publication Number Publication Date
JPWO2016092626A1 JPWO2016092626A1 (en) 2017-05-25
JP6212657B2 true JP6212657B2 (en) 2017-10-11

Family

ID=56106879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016563318A Active JP6212657B2 (en) 2014-12-09 2014-12-09 Development support system

Country Status (2)

Country Link
JP (1) JP6212657B2 (en)
WO (1) WO2016092626A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6619478B2 (en) * 2018-05-21 2019-12-11 株式会社フューチャーショップ Content management apparatus, content management method, and program
CN115777096A (en) * 2020-07-03 2023-03-10 三菱电机株式会社 Data analysis program creation support device, data analysis program creation support method, and data analysis program creation support program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6802058B2 (en) * 2001-05-10 2004-10-05 International Business Machines Corporation Method and apparatus for synchronized previewing user-interface appearance on multiple platforms
JP2004280416A (en) * 2003-03-14 2004-10-07 Toshiba Corp Software parts management system, software parts management method, and software parts management program
JP2008269554A (en) * 2007-03-29 2008-11-06 Hitachi Software Eng Co Ltd Source code generating device
US20120284631A1 (en) * 2011-05-02 2012-11-08 German Lancioni Methods to adapt user interfaces and input controls
JP5297555B1 (en) * 2012-12-04 2013-09-25 株式会社 ディー・エヌ・エー Network system

Also Published As

Publication number Publication date
WO2016092626A1 (en) 2016-06-16
JPWO2016092626A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
JP6263282B2 (en) Development support system
JP5128673B2 (en) Application development support apparatus, program, and recording medium
US20220334809A1 (en) Process flow builder for extensible web component sequences
JP5404969B1 (en) Electronic manual browsing device and system
JP6212657B2 (en) Development support system
JP6318261B2 (en) Web server system
Delessio et al. Sams teach yourself Android application development in 24 hours
KR101456507B1 (en) An authoring apparatus for applying n-screen to web application ui and the method for the same
US20150277723A1 (en) Exporting a component of a currently displayed user interface to a development system
CN106537334B (en) Method, computer-readable storage medium, and system for performing combined work on unified elements in personal workspace
Del Sole et al. Building iOS Applications
KR20150099279A (en) A system for providing an application developing environment
KR20150098895A (en) A device for providing an application developing environment
KR20130120860A (en) Method to generate code using specification subset for customizing web application
JP2018205889A (en) Image formation apparatus, debug device, reading control method and program
JP2016153997A (en) Software development system
KR20150099209A (en) A device for providing an application developing environment
KR20150099281A (en) A system for providing an application developing environment
KR20150099207A (en) A device for providing an application developing environment
KR20150097200A (en) A system for providing an application developing environment
KR20150097143A (en) A method for providing an application developing environment
KR20150099206A (en) A device for providing an application developing environment
KR20150099174A (en) A device for providing an application developing environment
KR20150098929A (en) A device for providing an application developing environment
KR20150099260A (en) A system for providing an application developing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170915

R150 Certificate of patent or registration of utility model

Ref document number: 6212657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250