Re: Golang business reporting tools

3,823 views
Skip to first unread message
Message has been deleted

j...@ludei.com

unread,
May 22, 2014, 5:10:21 AM5/22/14
to golan...@googlegroups.com


On Thursday, May 22, 2014 10:59:26 AM UTC+2, Josh Kamau wrote:
 Is there anything even remotely close to jasper reports?  Or atleast a way i could create pdf templates and then fill them in with data ?

Maybe HTML templates? 

 

egon

unread,
May 22, 2014, 5:19:20 AM5/22/14
to golan...@googlegroups.com

On Thursday, May 22, 2014 11:59:26 AM UTC+3, Josh Kamau wrote:
 Hello there ;

 I am planning to use golang for an upcoming business application. My other alternative is java.

 The puzzle if have is: how will i generate the printable documents? I have previously used jasper reports for that.

 Is there anything even remotely close to jasper reports?

I don't think there is.
 
Or atleast a way i could create pdf templates and then fill them in with data ?
 
There is pdf library https://github.com/signintech/gopdf, but nothing fancy.

You can always integrate with a separate program, e.g. use Jasper for reporting and everything else in Go. There are tons of reporting stuff, and most of them probably can be used outside of that language.

But, how well do you know Java/Go? Java has a wealth of history and libraries, which means a lot of problems are already solved in Java and may require re-solving in Go... although, programming in Go is a lot, lot more fun...

If you need to ship your product and don't have resources/time to experiment then do with Java.
If you want to enjoy programming and can accept reinventing some stuff, do it with Go.

+ egon
Message has been deleted

Jan Mercl

unread,
May 22, 2014, 5:33:55 AM5/22/14
to Josh Kamau, egon, golang-nuts
On Thu, May 22, 2014 at 11:24 AM, Josh Kamau <joshn...@gmail.com> wrote:

1. Chose Go.
2. There will be a moment when you'll regret #1.
3. #2 will occur regardless of the language #1 names.
4. Therefore #1 ;-)

-j

egon

unread,
May 22, 2014, 5:37:01 AM5/22/14
to golan...@googlegroups.com, egon
On Thursday, May 22, 2014 12:24:38 PM UTC+3, Josh Kamau wrote:
I am very good in java. ;)

I want to use go because:
 1. I am working on a potentially large project alone. so productivity matters
 2. The clients  are small "schools" and may not afford to buy big boxes. so i thought go will run superfast even on small boxes.

Superfast is very vague... currently Java is still faster, but only marginally... of course Go-s memory usage is smaller. Since these are small schools then both should be fine performance wise.

Depending how complicated the reporting is, either roll your own... or just use some other program... i.e. go -> xml -> someprogram -> pdf

Of course there is also possibility of generating an html page and converting that into a pdf.

+ egon

 3. Its fun . 

Josh


--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rolf Veen

unread,
May 22, 2014, 5:46:25 AM5/22/14
to Josh Kamau, golang-nuts
My current solution to the problem of creating good quality PDFs from
a web application is to use the xelatex command. I've created a small
remote service on top of it, which accepts a TeX stream and returns a
path to the PDF file (or the byte stream, optionally). Obviously in Go
;-). You can use github.com/emicklei/go-restful to build the remote
API. And you can cache the PDFs and avoid recreating them for the same
input.

Rolf

On Thu, May 22, 2014 at 10:59 AM, Josh Kamau <joshn...@gmail.com> wrote:
> Hello there ;
>
> I am planning to use golang for an upcoming business application. My other
> alternative is java.
>
> The puzzle if have is: how will i generate the printable documents? I have
> previously used jasper reports for that.
>
> Is there anything even remotely close to jasper reports? Or atleast a way
> i could create pdf templates and then fill them in with data ?
>
> Thanks
> Josh

Josh Kamau

unread,
May 22, 2014, 6:02:52 AM5/22/14
to Rolf Veen, golang-nuts
Thanks all for the responses.

You have made me think: 1. is go really giving me a big edge? 2. What other issues will land into mid-project?

May be i should give up fun and make money first ;)

Josh

Stefano Casillo

unread,
May 22, 2014, 7:41:29 AM5/22/14
to golan...@googlegroups.com, Rolf Veen
On Thursday, 22 May 2014 18:02:52 UTC+8, Josh Kamau wrote:

You have made me think: 1. is go really giving me a big edge? 2. What other issues will land into mid-project?

May be i should give up fun and make money first ;)

I don't know what you mean for "business application" but anything with a GUI will be a pain to do with Go at the moment.. there are bindings and stuff out there but you'll be bringing in dependencies over dependencies and, if you are on Windows then good luck because you'll have to get those to compile with MinGW and that could really ruin your day... on Linux things seem to work better. Plus, being bindings to C/C++ libraries they will have a documentation for C/C++ so you'll have to go through all the hassle of converting and translating stuff to Go... it's just going to be painful.

The general consensus is to use the browser as your output as much as you can.. realistically, this means using Javascript for any kind of non trivial GUI.

If your "business application" is just something that gathers data around, with no or super minimal GUI and outputs documents.. then I don't see how you can go wrong with Go.. just output HTML files and use the browser to print or convert to PDF.

Josh Kamau

unread,
May 22, 2014, 7:57:42 AM5/22/14
to Stefano Casillo, golang-nuts, Rolf Veen
I agree Stefano.
I figured the can print from a properly styled html page.

When i say business application, i mean something like an 'ERP' system.

Thanks
Josh


Daniel Theophanes

unread,
May 22, 2014, 11:52:21 AM5/22/14
to golan...@googlegroups.com
Hi Josh,

Make sure Go can access the database you will be using. If you use the "database/sql" package, make sure it will work for you.

You may think about using a different database as a service like Pentaho or render an html page and convert it with something like http://wkhtmltopdf.org/.

I have looked, but I don't know of any Go based reporting solutions (for business reporting). At some point in the future I'd like to make one, but now is not that day.

-Daniel

Josh Kamau

unread,
May 22, 2014, 1:22:33 PM5/22/14
to Daniel Theophanes, golang-nuts
Thanks Daniel ;

I decided to go with rendering everything in html, I can also easily generate csv or xls . 

In worst case scenario, i will do a java based webservice that reads from the same db and can process jasper reports.

Josh


--
Reply all
Reply to author
Forward
0 new messages