Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native Android Application #271

Closed
engelgabriel opened this issue Jul 6, 2015 · 46 comments
Closed

Native Android Application #271

engelgabriel opened this issue Jul 6, 2015 · 46 comments

Comments

@engelgabriel
Copy link
Member

We need to start working on this to get a ALPHA version as soon as possible.

Some ideas on https://github.com/danielfbm/meteor-cordova-web-example are very interesintg.

From https://forums.meteor.com/t/different-interfaces-based-on-devices/264/19

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@engelgabriel engelgabriel added this to the v1.0 milestone Jul 6, 2015
@engelgabriel engelgabriel changed the title Native Android App Native Android Application Jul 6, 2015
@shtefcs
Copy link

shtefcs commented Jul 7, 2015

This will be some awesome and biggest feature for sure. 👍 for that guys, waiting to see.

@Transporters
Copy link

will it be a native or hybrid app ?

@engelgabriel
Copy link
Member Author

We will start with hybrid.. thats all we have time for now. But if someone want to help with a fully native, it would be awesome!

@naggie
Copy link

naggie commented Aug 5, 2015

I use slack, and the android app (slow loading messages, btw) is useful mainly for the push notifications. Even if it just does push notifications it would be useful.

@tkowalczyk
Copy link

I think Xamarin is worthly to consider, they can give a free license for Open Source project!

@rodrigok rodrigok modified the milestones: v1.0, Next Aug 15, 2015
@marceloschmidt marceloschmidt modified the milestones: Roadmap, Next Sep 21, 2015
@mikebranski
Copy link

Echoing @tkowalczyk, I think something like NativeScript (Xamarin, et al) for a true cross-platform, native experience could really shine here. I've personally used NativeScript in its beta days and loved it, and it's only gotten better.

@tkowalczyk
Copy link

@mikebranski yes I also saw NativeScript ;) but in my opinion Xamarin will be better here we have access to the all of the functionalities of the hardware (as well as written native on iOS and Android), also there is a similar tool called Fuse but I haven't used it yet.

@iamaer4fa
Copy link

Hi,
Could we use something like free pascal for true native cross platform Rocket.Chat client?
I hope we can get help from this someone from the lazarus/pascal community.

@kenyee
Copy link

kenyee commented Nov 1, 2015

Related, but what do people expect out of a "native" app? It is more the feel or is it something else?
I have the android-ddp-client library we can hook into this for a native experience, but I have to ask why native instead of hybrid for something as simple as a chat client :-)

@ghost
Copy link

ghost commented Nov 2, 2015

Native allows for more thorough security like implementing SSL pinning, secure local storage, binary protection, etc. If you use a cross platform framework, you'll have to be sure all security features are available as 'upgrades'. f.e phonegap/cordova still relies on a third party plugin for implementing pinning.

@denim2x
Copy link

denim2x commented Dec 12, 2015

I'd suggest using the Titanium SDK for this task.

@geekgonecrazy
Copy link
Contributor

@denim2x problem with Titanium, is its still not truely native. We are still using an abstraction layer like we are with Cordova.

@denim2x
Copy link

denim2x commented Dec 12, 2015

@geekgonecrazy Now I'm really being strained to disagree, since there are many more Java sources in the ui module than the Javascript sources, which presumably entails the fact that Titanium really is a native framework which brilliantly runs Javascript code thanks to the outstanding V8 engine.

@engelgabriel
Copy link
Member Author

@zuigon
Copy link

zuigon commented Jan 9, 2016

I would suggest react-native (https://facebook.github.io/react-native/) which is native, but enables much easier contribution and development.
There are already many components ready to use (https://react.parts/native).

@geekgonecrazy
Copy link
Contributor

@zuigon react-native is for sure a very attractive option. But both of the projects started by community members have went the traditional route.

@murtazakhussain
Copy link

@engelgabriel Hey, sure I will contact @Yusukelwaki

@dandv
Copy link

dandv commented Feb 24, 2016

@tkowalczyk: Microsoft announced they'll acquire Xamarin today.

@engelgabriel: any thoughts on a Progressive Web Apps approach for the Android app? It would use the mobile web app code, plus a service worker layer that would do push notifications, and later, caching and native offline support. But with HTTPS serving + service worker + a simple manifest.json file, we get "Add to home screen" capability and push notifications.

https://developers.google.com/web/progressive-web-apps

Disclaimer: I work at Google, and the Chrome team is a big fan of PWAs.

@tvld
Copy link

tvld commented Mar 7, 2016

@dandv in your opinion, could PWA's make native Android irrelevant for apps such as Rocket.chat?

@engelgabriel
Copy link
Member Author

@dandv this looks like something very interesting indeed. We'd like to start using more service workers, and not just for the mobile apps, but for all the html client apps.

We already have the manifest.json and we are serving the demo site using HTTPs, so we just have to wait for the meteor service worker implementation?

@dandv
Copy link

dandv commented Mar 11, 2016

@tvld: From what I've seen of Rocket.Chat, a non-Meteor/Cordova Progressive Web App would be able to replicate the following functions:

  • real-time messaging functions, using Asteroid to connect via DDP to the Meteor server (not a PWA-specific feature)
  • push notifications, including vibrations
  • working offline, thanks to Service Worker
  • add to home screen, with splash screen while the app loads
  • recording audio and video
  • file uploads (again, not PWA-specific)

@engelgabriel: Indeed, we could either wait for Meteor to implement SW, or decouple the UI into a PWA-centric implementation (a "lite web" client) and communicate with Meteor via Asteroid.

@tvld
Copy link

tvld commented Mar 11, 2016

+1 "decouple the UI into a PWA-centric implementation "

@Sing-Li
Copy link
Member

Sing-Li commented Mar 23, 2016

@dandv: How do you visualize a chat app work offline ? Or are you thinking of temporary/ intermittent disconnection scenario.

Would the user know that he/she is offline and queue messages, uploads, etc - for when the device/system becomes online again?

@dandv
Copy link

dandv commented Mar 24, 2016

@Sing-Li: exactly; much like Meteor apps work offline and can show an online indicator using Meteor.status(). The two top value propositions are searching within the local cache of recent messages, and queuing messages for posting when the connection is re-established.

@Sing-Li
Copy link
Member

Sing-Li commented Mar 24, 2016

@danv - we want to stand up a PoC for something very similar. Might you be available to help us in an advisory role?

One of our primary use case is in emerging economies where low speed 3G connections might be intermittent and interrupted frequently. The catch 22 is the affordability of phone hardware that can run the fundamental blocks for progressive web.

Are we talking about Android 6 and beyond, or can a lowly 1 GB Android 4.x device be deployed in such capacity? TIA

@engelgabriel
Copy link
Member Author

We are also working to make Meteor become DB agnostic.. @Sing-Li is refactoring the account package for MDG. I was wondering if we could eventually make Rocket.Chat be able to run entirely on services from the Google Cloud Platform.

@Sing-Li
Copy link
Member

Sing-Li commented Apr 1, 2016

And the saga begins. Thanks, @danv!

@tvld and gang, please stay tuned for ....

https://github.com/RocketChat/PWAClient

@tvld
Copy link

tvld commented Apr 1, 2016

Wow... you are rocking there.... 👍

Long README, excellent... but would be great to write a bit of an introduction. Where does this stand compared to the default Client? REplacement, addition? Strategic direction?

Also, if we like our own interface / theme, could be use this as boiler plate?

Again.. great to see this speed :)

@Sing-Li
Copy link
Member

Sing-Li commented Apr 1, 2016

A lot more information to come. Please bear with us while we build out the site and contributors community.

This will not be a replacement for any existing client. It will support only a subset of existing features. It is a custom client targeted for a high impact special project (more details to come), and will definitely serve as a boilerplate for anyone wanting to create their own specialized UI.

Basically, there is no major barrier of entry with Web Components and PWA. No need to be a node.js guru or Meteor genius. If you do HTML, CSS, and a little JavaScript - you can contribute to the project and/or customize it ! :)

@tvld
Copy link

tvld commented Apr 3, 2016

Excellent... forked and playing ;)

@Sing-Li
Copy link
Member

Sing-Li commented Apr 14, 2016

@tvid and @dandv - today's update by @geekgonecrazy added a <rocketchat-connection> web component and enables login to an actual Rocket.Chat server, and fetch messages into a list !!

See the Latest Update section of the page:

https://github.com/RocketChat/Rocket.Chat.PWA/blob/develop/README.md

Obviously still very early stage yet, but it will improve. Please feel free to play and PR 😃

@tvld
Copy link

tvld commented Apr 14, 2016

I must say, I was already considering floating away from Rocket Chat, being too Meteor centric e.g. build times, convoluted. But now I feel you guys are pulling me back :)

I am not experienced enough yet with this technology to see where you aim to be going with this. Could you explain what it is that you try to achieve? Just proof of technology? Full production solution? ... ?

@Sing-Li
Copy link
Member

Sing-Li commented Apr 14, 2016

@tvid - Please see my answer to same question two posts back.

@tvld
Copy link

tvld commented Apr 14, 2016

yes, ok, but you wrote "more details to come" ... so I was thinking you already could give some. Then sorry, my bad.

@Sing-Li
Copy link
Member

Sing-Li commented Apr 14, 2016

Ah. Sorry for the logistics delay. Yes, we're currently waiting for our special project partner to complete their project website (and give it a name) before publicizing it further.

@MeanderingCode
Copy link

What is the status of that partner and project? Can they be named/referenced now?

@cyclops24
Copy link
Contributor

+1 for react-native android and ios app.

@FaizanZahid
Copy link

Guys, i don't see any option for voice and video calling on rocket chat android and ios apps. am i missing something?

@cremfert
Copy link

Is PWA still on the road? I embedded package meteor-service-worker (https://github.com/NitroBAY/meteor-service-worker), which seems to work great and is easily integrated. If devs like, I could do a pull request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests