Skip to main content
/
Java Development
/
Group items matching ""Startup App"" in title, tags, annotations or url
Group items matching
in title, tags, annotations or url
Sort By:
Relevance
|
Date
Filter:
All
|
Bookmarks
|
Topics
Simple
Middle
Startup App Development Services In Melbourne
- 1 views
www.krowd.com.au/start-up.php
Startup App
iOS App
Mobile App
Android App
shared by
krowddigital
on 09 Feb 22
-
No Cached
krowddigital
on 09 Feb 22
A
startup app
development company, we develop amazing apps for startups and entrepreneurs.
A startup app development company, we develop amazing apps for startups and entrepreneurs.
...
Cancel
...
Cancel
Large scale application development and MVP - Part II - Google Web Toolkit - Google Code
- 0 views
code.google.com/...mvp-architecture-2.html
shared by
anonymous
on 18 Jan 11
-
Cached
itself
anonymous
on 18 Jan 11
The View Implementation
The View Implementation
...
Cancel
...
Cancel
@UiHandler("
...
Cancel
presenter.onAddButtonClicked();
...
Cancel
...91 more annotations...
onAddButtonClicked
...
Cancel
eventBus.fireEvent(new AddContactEvent());
...
Cancel
presenter needs to know more about the view
...
Cancel
view needs to know more about the data model
...
Cancel
data types are typically homogeneous within column borders
...
Cancel
ColumnDefinition abstract class
...
Cancel
houses the any type-specific code (this is the third party mentioned above)
...
Cancel
ColumnDefinition
...
Cancel
ColumnDefinition(s) would be created outside of the presenter
...
Cancel
we can reuse its logic regardless of what view we've attached ourself to
...
Cancel
update our views such that we can set their ColumnDefinition(s).
...
Cancel
setColumnDefinitions
...
Cancel
this.columnDefinitions = columnDefinitions;
...
Cancel
so that we can pass in
...
Cancel
a mocked ContactsView instance when testing our ContactsPresenter
...
Cancel
in our AppController, when we create the ContactsView,
...
Cancel
new ContactsViewColumnDefinitions().getColumnDefinitions();
...
Cancel
we can initialize it with the necessary ColumnDefinition(s).
...
Cancel
contactsView.setColumnDefiniions(
anonymous
on 19 Jan 11
Initialize ContactsView with the necessary ColumnDefinition(s)
Initialize ContactsView with the necessary ColumnDefinition(s)
...
Cancel
...
Cancel
With our ColumnDefinition(s) we can pass the model untouched.
...
Cancel
As mentioned above we were previously dumbing down the model into a list of Strings
...
Cancel
current solution
...
Cancel
List<String> data
...
Cancel
display.setData(data);
...
Cancel
how that data type is rendered.
...
Cancel
use generics
...
Cancel
third party that abstracts
...
Cancel
knowledge of a cell's data type
...
Cancel
stringing together a list of these classes
...
Cancel
providing the necessary render()
...
Cancel
and isClickable()/isSelectable() override
...
Cancel
ContactsViewColumnDefinitions<ContactDetails>
...
Cancel
columnDefinitions = new ArrayList<ColumnDefinition<ContactDetails>>()
...
Cancel
ColumnDefinition<T>
...
Cancel
ContactsPresenter
...
Cancel
ContactsViewImpl
...
Cancel
ColumnDefinition<T> columnDefinition = columnDefinitions.get(j);
...
Cancel
the presenter can pass the model untouched
...
Cancel
the view has no rendering code
...
Cancel
that we would otherwise need to test. And the fun doesn't stop there.
...
Cancel
presenter.onItemClicked(
...
Cancel
presenter.onItemSelected
...
Cancel
ClickEvent
...
Cancel
cell.getCellIndex()
...
Cancel
columnDefinition.isClickable()
...
Cancel
SelectEvent
...
Cancel
columnDefinition.isSelectable()
...
Cancel
return shouldFireClickEvent;
...
Cancel
return shouldFireSelectEvent;
...
Cancel
respond to user interaction in different ways based upon the cell type that was clicked
...
Cancel
use them for rendering purposes
...
Cancel
defining how to interpret user interactions
...
Cancel
we're going to remove any application state from the ContactsView
...
Cancel
replace the view's getSelectedRows() with a SelectionModel
...
Cancel
The SelectionModel is nothing more than a wrapper around a list of model objects.
...
Cancel
ContactsPresenter holds on to an instance of this class
...
Cancel
onItemSelected
...
Cancel
Having the ColumnDefinition create a new widget for each cell is too heavy
...
Cancel
Replace our FlexTable implementation with an HTML widget
...
Cancel
calling setHTML()
...
Cancel
Reduce the event overhead by sinking events on the HTML widget
...
Cancel
rather than the individual cells
...
Cancel
update our ContactsView.ui.xml file to use a
...
Cancel
HTML widget rather than a FlexTable widget.
...
Cancel
<g:HTML ui:field="contactsTable">
...
Cancel
Inefficiencies related to inserting new elements via DOM manipulation Overhead associated with sinking events per Widget
...
Cancel
for each item ask our column definitions to render accordingly
...
Cancel
each column definition
...
Cancel
render itself into the StringBuilder
...
Cancel
rather than passing back a full-on widget
...
Cancel
calling setHTML on a HTML widget
...
Cancel
rather than calling setWidget on a FlexTable.
...
Cancel
This will decrease your load time, especially as your tables start to grow.
...
Cancel
we're reducing the overhead of sinking events on per-cell widgets
...
Cancel
instead sinking on a single container
...
Cancel
ClickEvents are still wired up via our UiHandler annotations
...
Cancel
get the Element that was clicked on
...
Cancel
and walk the DOM until we find a parent TableCellElement
...
Cancel
we can determine the row
...
Cancel
shouldFirdClickEvent() and shouldFireSelectEvent()
...
Cancel
to take as a parameter a TableCellElement rather than a HTMLTable.Cell.
...
Cancel
faster startup times via Code Splitting.
...
Cancel
runAsync() points
...
Cancel
split portion of your code is purely segmented
...
Cancel
not referenced by other parts of the app
...
Cancel
it will be downloaded and executed at the point that it needs to run
...
Cancel
Do we really want to download all of that code before the user even logs in?
...
Cancel
Not really.
...
Cancel
simply grab the login code, and leave the rest for when we actually need it
...
Cancel
wrap the code that creates the ContactsView and ContactsPresenter in a runAsync() call
...
Cancel
as optimizations such as this one become easier and easier to implement.
...
Cancel
...
Cancel
1
-
2
of
2
Showing
20
▼
items per page
20
50
100
Related searches
See group items tagged
"Startup App"
»
Search in Google »