powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / На чем нынче модно GUI под Web рисовать?
25 сообщений из 101, страница 4 из 5
На чем нынче модно GUI под Web рисовать?
    #39443348
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanringoПробовал ангуляр 2-й. Не очень понравилось, даже с учетом primeng. Существенный недостаток - синхронизация объектной модели на бэкенде и фронтенде.

Думаете это большой недостаток?
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443349
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanringoПробовал ангуляр 2-й. Не очень понравилось, даже с учетом primeng. Существенный недостаток - синхронизация объектной модели на бэкенде и фронтенде. Сложность рефакторинга. Сейчас выбираю из vaadin, smart-gwt, zk, wicket. Сравнительного обзора по ним что-то не нашёл. Какие плюсы-минусы у них?


Вадя, что скажете ?
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443353
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nebo,
вадя - перелогинься)
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443355
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaвангую - ТС имеет в виду, что для каждого ява-бина типа MyBusinessObject.java нужно создавать и держать актуальным TypeScript-копию MyBusinessObject.ts
если за него ванговать и отвечать, то есть
класс $resource и RESTfull
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443362
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeboВадя, что скажете ?
я просто не поддерживаю подход ангуляр .....
я его начал смотреть и сама методология с самого начала не понравилась. и я на нем поставил крест. пэтому тут я не советчик.
Nebo, если есть желание можно обсудить по skype или по почте, у меня есть что сказать, рассказать, показать. тут разводить в очередной раз флуд не тянет...
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443367
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashajust_vladimirпропущено...

Если можно, то с этого места по подробнее.
вангую - ТС имеет в виду, что для каждого ява-бина типа MyBusinessObject.java нужно создавать и держать актуальным TypeScript-копию MyBusinessObject.ts
Ну если такая великая беда, то можно и вот такую штуку приделать
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443369
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123то есть класс $resource и RESTfull
и как это решает озвученную проблему? речь о том (ну если я вообще понял правильно), что у нас backend возвращает например json-объект, который соответствует некоторой модели бэкенда. и если мы хотим работать с ним типизированно - то нам нужно иметь typescript класс, соответствующий по структуре модели бэкенда, передаваемой посредством json. Т.е. конечно можно и не иметь, а передавать повсюду any или Object, но тогда теряется смысл игры в типизацию.
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443373
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirНу если такая великая беда, то можно и вот такую штуку приделать
чтоб было понятно - у меня никакой беды нет, я просто объяснил, что (по моему мнению) имеет в виду оратор выше
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443385
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaу меня никакой беды нет
вот и я такого же мнения).
Никакой беды у sanringo нету.
Иначе бы подробно и с кодом sanringo рассказал о ней.
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443386
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimir вот такую штуку
не очень кстати корректно работает для выше озвученной цели - для простого ява-бина не умеет генерить typescript проперти, а просто влоб сеттеры/геттеры транспайлит, что в случае json нас ни разу не устраивает
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443396
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashajust_vladimir вот такую штуку
не очень кстати корректно работает для выше озвученной цели - для простого ява-бина не умеет генерить typescript проперти, а просто влоб сеттеры/геттеры транспайлит, что в случае json нас ни разу не устраивает
Эмм не очень понял о чем речь, вот только что проверил:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
package org.jsweet;

import static jsweet.dom.Globals.*;


public class HelloWorld {
	private String f1;
	private int f2;
	private double f3;
	
	public HelloWorld(String f1, int f2, double f3){
		this.f1 = f1;
		this.f2 = f2;
		this.f3 = f3;
	}
	
	
	public static void main(String[] args){
		HelloWorld hw = new HelloWorld("asdf", 1, 1);
	}
}


и после jsweet:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
/* Generated from Java with JSweet 1.2.0 - http://www.jsweet.org */
namespace org.jsweet {
    export class HelloWorld {
        private f1 : string;

        private f2 : number;

        private f3 : number;

        public constructor(f1 : string, f2 : number, f3 : number) {
            this.f2 = 0;
            this.f3 = 0;
            this.f1 = f1;
            this.f2 = f2;
            this.f3 = f3;
        }

        public static main(args : string[]) {
            let hw : HelloWorld = new HelloWorld("asdf", 1, 1);
        }
    }
    HelloWorld["__class"] = "org.jsweet.HelloWorld";

}


org.jsweet.HelloWorld.main(null);
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443399
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaи как это решает озвученную проблему? речь о том (ну если я вообще понял правильно), что у нас backend возвращает например json-объект, который соответствует некоторой модели бэкенда. и если мы хотим работать с ним типизированно - то нам нужно иметь typescript класс, соответствующий по структуре модели бэкенда, передаваемой посредством json. Т.е. конечно можно и не иметь, а передавать повсюду any или Object, но тогда теряется смысл игры в типизацию.
если работать по REST full, то как бы нет типизации. Есть просто правила REST и маппинг урл сервисов в ангуляре. Всё.
Не передаются модели между бэком и фронтом. Вся модель на клиенте.
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443401
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Да Вы правильно меня поняли. Поэтому я решил попробовать другой фреймворк. Какой посоветуете?
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443404
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
блин, туплю, понял о чем речь ...
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443407
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanringochpasha,
Поэтому я решил попробовать другой фреймворк. Какой посоветуете?
без понятия, выбор фреймворка под конкретные нужды - кропотливая и ответственная работа, нету серебряной пули
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443419
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123если работать по REST full, то как бы нет типизации
типизация есть до момента передачи с бэкенда на клиент и после момента получения клиентом данных с бэкенда. ну разве что у тебя и бэкенд и фронтенд оперируют map<string, object>.

Petro123Не передаются модели между бэком и фронтом. Вся модель на клиенте.
а dto передаются? скажи, ты реально не понимаешь о чем речь или просто хочется пофлудить?
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443470
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaтипизация есть до момента передачи с бэкенда на клиент и после момента получения клиентом данных с бэкенда
именно. А между этими гетерогенными слоями типизация идёт абстрактно мппингом (поле такое то равно поле такое).
chpashaа dto передаются?
в толстом клиенте
chpashaили просто хочется пофлудить?
ну вот смотри:
1.
Код: java
1.
2.
3.
4.
5.
@RequestMapping(value = "/getAllProfiles", method = RequestMethod.GET)
public @ResponseBody String getAllProfiles( ModelMap model ) {
    String jsonData = "[{"firstname":"ajitesh","lastname":"kumar","address":"211/20-B,mgstreet","city":"hyderabad","phone":"999-888-6666"},{"firstname":"nidhi","lastname":"rai","address":"201,mgstreet","city":"hyderabad","phone":"999-876-5432"}]";
    return jsonData;
}



Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
var helloApp = angular.module("helloApp", []);
helloApp.controller("HttpController", [ '$scope', '$http',
function($scope, $http) {
$http({method : 'GET',url : '/getAllProfiles'})
.success(function(data, status, headers, config) {
    $scope.profiles = data;
})
.error(function(data, status, headers, config) {
    alert( "failure");
});
} ])


-------------------------
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<table class="table">
    <tr>
        <th>Name
        </th>
        <th>Address
        </th>
        <th>City
        </th>
        <th>Phone
        </th>
     </tr>
     <tr ng-repeat="profile in profiles">
         <td>{{profile.firstname + " " + profile.lastname}}
         </td>
         <td>{{profile.address}}
         </td>
         <td>{{profile.city}}
         </td>
         <td>{{profile.phone}}
         </td>
         </tr>
</table>


-------------------------------
С одной стороны ты сказал что проблем нет. А с другой доказываешь что они есть.
Дак есть или нету?
Клиент и сервер с разным ЯП и не надо тут притягивать типизацию.
IMHO
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443486
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
классная типизация есть в GWT и их наследниках ваадинах и т.д.
Вот пусть и работает на них кому надо.
Удачи ТС.
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443497
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ну вот смотри
ну вот вижу, первый ангуляр, типизации нет. а теперь сам смотри

бэкенд

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
public class User implements Serializable {

    private Date accountLockedUntil;

    private Boolean deleted;

    private Collection<String> userRoles;

    private Collection<UserGroup> memberOfGroup = new ArrayList<>();

    private Date lastPasswordChange;

    private Date validUntil;

    private Integer failedLoginAttempts;

    private Integer passwordExpiresAfterMonths;

    private Integer unitID;

    private Integer userID;

    private OrganisationUnit unit;

    private String email;

    private String loginname;

    private String name;

    private String oldPassword;

    private String password;

    private String surname;
 
    //геттеры-сеттеры
}

@RequestMapping(value = "/api/users", produces = APPLICATION_JSON_VALUE)
@RestController
public class UserServiceController {

   @RequestMapping(method = GET)
    public List<User> getUsers() {
        return userService.getAllUsers();
    }
}



фронтенд

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
export class User {
    public accountLockedUntil: Date;
    public deleted: Boolean;
    public email: string;
    public lastPasswordChange: Date;
    public loginname: string;
    public memberOfGroup: UserGroup[];
    public name: string;
    public oldPassword: string;
    public password: string;
    public passwordExpiresAfterMonths: number;
    public surname: string;
    public unit: OrganisationUnit;
    public unitsVisibleToUser: OrganisationUnit[];
    public unitID: number;
    public userID: number;
    public userRoles: string[];
    public validUntil: Date;
    public authToken: string;
}

@Injectable()
export class UsersService extends RestService {
    public loadUsers(): Observable<User[]> {
        return this.http.get("/api/users")
            .map(response => response.json())
            .catch(error => super.handleError(error));
    }
}

//где-то дальше в коде
this.usersService
     .loadUsers()
     .flatMap(...)
     .filter(user => user.unitID != xxx)
     .subscribe(user => console.info(user.name));                     



где-то дальше в разметке
Код: html
1.
2.
3.
<div *ngIf="user.deleted>
   ${user.name} is deleted
</div>  



понял о чем я? у нас есть возможность работать с полученными данными типизировано, как в коде так и в разметке - контроль типов, имена свойств, автоподсказка в ide - все плюшки. но для этого нам нужно синхронизировать классы User в typescript с тем, что мы получаем из json (что в свою очередь соответствует классу User в яве)


Petro123С одной стороны ты сказал что проблем нет. А с другой доказываешь что они есть.
Дак есть или нету?
есть необходимость (вернее есть желание, необходимости-то как раз нет) работать с объектами типизировано. а значит нужно мапить объекты фронтенда на то, что выдает бэкенд. как-нибудь. является это проблемой или нет, стоит ли игра свеч - каждый решает для себя сам.
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443509
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha
Код: javascript
1.
export class User {


вот это мне как раз не надо).
Так же как и DTO.
Т.к. контроллёры и модель у ангуляра а не в бэке. И это тонкий клиент а не толстый.
Т.е. бизнес сущность ангуляра может состоять из 3-х рест сервисов разных серверов.
Но спорить бессмысленно.
Я не перфекционист.
Удачи!
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443513
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaесть необходимость (вернее есть желание, необходимости-то как раз нет) работать с объектами типизировано. а значит нужно мапить объекты фронтенда на то, что выдает бэкенд. как-нибудь. является это проблемой или нет, стоит ли игра свеч - каждый решает для себя сам.
+1
нет идеала в мире))
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443538
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вот это мне как раз не надо).
ну вот надо или нет - как раз спорный вопрос. если бы ты в коде работал с объектом profile не-типизировано, т.е. динамически пробегал по его свойствам и что-то с ними делал - можно было бы согласиться. но ты как раз работаешь с ним типизировано - ты пишешь profile.firstName и предполагаешь, что
а) firstName существует
б) firstName типа string
но у тебя при этом ни статического контроля типов, ни проверки на описки, ни подсказок со стороны ide нет. т.е. все ошибки вылезают в рантайме или даже вовсе не вылезают - если там в html где-то profile.notExistingProperty напишешь то даже ошибки не будет, просто ничего не выведет (а когда ты не знаешь, должно там что-то быть или нет, то и не заметишь). я понимаю, что в первом ангуляре это норма, но второй не просто так вокруг typescript построили. это я уже не говорю про лютые проверки (иногда даже через чур) на этапе aot-компиляции
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443574
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaну вот надо или нет - как раз спорный вопрос. если бы ты в коде работал с объектом profile не-типизировано, т.е. динамически пробегал по его свойствам и что-то с ними делал - можно было бы согласиться. но ты как раз работаешь с ним типизировано - ты пишешь profile.firstName и предполагаешь, что
а) firstName существует
б) firstName типа string
не не.
Я не спец в JS, но я думаю что в JS это всё есть.
Вопрос в том, что автомата из бэкенда из Java мне это не надо.
Например, из Java я посыла. точный формат даты. В модели ангуляра я строю класс вообще со стринговой датой.
Или год из Java числовой, а в модели JS он строковый для фильтрации удобной.
Суть что БЛ в JS, а там думаю эт вопросы решены. (в ветку JS)
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443575
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из БД ведь тоже бывает автоматически типы переходят. А бывает обычным маппинг-соответствием.
...
Рейтинг: 0 / 0
На чем нынче модно GUI под Web рисовать?
    #39443722
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяNeboВадя, что скажете ?
я просто не поддерживаю подход ангуляр .....
я его начал смотреть и сама методология с самого начала не понравилась. и я на нем поставил крест. пэтому тут я не советчик.
Nebo, если есть желание можно обсудить по skype или по почте, у меня есть что сказать, рассказать, показать. тут разводить в очередной раз флуд не тянет...

Спасибо) Может пообщаемся как-нибудь)
...
Рейтинг: 0 / 0
25 сообщений из 101, страница 4 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / На чем нынче модно GUI под Web рисовать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]